{"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-b077c9a9daff4790", "name": "Possibly dead Python function: process_business_via_maps", "shortDescription": {"text": "Possibly dead Python function: process_business_via_maps"}, "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-2c65bba66dd68bdb", "name": "Possibly dead Python function: enumerate_social_urls", "shortDescription": {"text": "Possibly dead Python function: enumerate_social_urls"}, "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-d0d6f911fa8a851e", "name": "Possibly dead Python function: search_dexknows", "shortDescription": {"text": "Possibly dead Python function: search_dexknows"}, "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-92da9bd24ea8e835", "name": "Possibly dead Python function: search_superpages", "shortDescription": {"text": "Possibly dead Python function: search_superpages"}, "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-83b2f90e31b6bab4", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-454667a1c704c23c", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-2c570e84edbdab48", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-7b02ac6382830559", "name": "Possibly dead Python function: search_yp_proxy", "shortDescription": {"text": "Possibly dead Python function: search_yp_proxy"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33828b33889c83a8", "name": "Possibly dead Python function: search_manta_proxy", "shortDescription": {"text": "Possibly dead Python function: search_manta_proxy"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79a6a0feae5104c5", "name": "Possibly dead Python function: search_bing_local", "shortDescription": {"text": "Possibly dead Python function: search_bing_local"}, "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-2cefc7c5e0b8978b", "name": "Possibly dead Python function: process_business_via_search", "shortDescription": {"text": "Possibly dead Python function: process_business_via_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-42f97727497ff9ea", "name": "Possibly dead Python function: enumerate_social_urls", "shortDescription": {"text": "Possibly dead Python function: enumerate_social_urls"}, "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-aacbe81502c7fef1", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-bc10e60632c4ac5a", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-6c657be12aaa9444", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-bdf646b5f8bf1ddc", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-3fb0b539a40a8388", "name": "Possibly dead Python function: header", "shortDescription": {"text": "Possibly dead Python function: header"}, "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-81c749e8884512db", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-63f2f1bb785b5491", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-cdba1b9b27985f88", "name": "Possibly dead Python function: process_business_via_google", "shortDescription": {"text": "Possibly dead Python function: process_business_via_google"}, "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-4fce6e57216c21b5", "name": "Possibly dead Python function: replace_update", "shortDescription": {"text": "Possibly dead Python function: replace_update"}, "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-430fdd1b00b5c637", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-40783b86633311aa", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-0dfa78cb13dfa08d", "name": "Possibly dead Python function: search_yp", "shortDescription": {"text": "Possibly dead Python function: search_yp"}, "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-fa7a0e23dff54cb9", "name": "Possibly dead Python function: search_manta", "shortDescription": {"text": "Possibly dead Python function: search_manta"}, "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-9f32aa8c4e749f4d", "name": "Possibly dead Python function: process_business_via_yell", "shortDescription": {"text": "Possibly dead Python function: process_business_via_yell"}, "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-7581498ac317b2d1", "name": "Possibly dead Python function: yp_url", "shortDescription": {"text": "Possibly dead Python function: yp_url"}, "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-9b07f9bace85d3ee", "name": "Possibly dead Python function: yelp_url", "shortDescription": {"text": "Possibly dead Python function: yelp_url"}, "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-2f8c98b44640cf60", "name": "Possibly dead Python function: manta_url", "shortDescription": {"text": "Possibly dead Python function: manta_url"}, "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-8826f1d09002a177", "name": "Stray `console.log` in TS/JS \u2014 paste_snippet.js:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 paste_snippet.js:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e5c95e8733083e1", "name": "Stray `console.log` in TS/JS \u2014 all_remaining_plumbers.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 all_remaining_plumbers.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a65c410ef4032fc7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 temp_restore_utf8.tsx:3031", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 temp_restore_utf8.tsx:3031"}, "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-22502491e022b736", "name": "Stray `console.log` in TS/JS \u2014 coverage_summary.ts:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 coverage_summary.ts:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62a7cdc513665402", "name": "Stray `console.log` in TS/JS \u2014 emergency-brain.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 emergency-brain.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f89d8f5a94d2fbf", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_69.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_69.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b59b1f12fbf84d1d", "name": "Stray `console.log` in TS/JS \u2014 scripts/copy_missing_color_blocks.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy_missing_color_blocks.js:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e5bff3d98196134", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_live_refrigerant_gb.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_live_refrigerant_gb.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93b14851e79233d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase_posts.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase_posts.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef04ec9ae1e297d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_12.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_12.js:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5608595e1b2e1f60", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day38_breakdown_blog.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day38_breakdown_blog.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faeac00bb9a05727", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ae3cd123af3062c", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_keys.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_keys.ts:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0385ac9e5ca1f6b5", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_content_v3.js:460", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_content_v3.js:460"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ce5e3fde6f6432e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_77.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_77.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab41b8f29f92142e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_1.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_1.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed5637ade3a1645c", "name": "Stray `console.log` in TS/JS \u2014 scripts/batch_create_us_posts.js:190", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_create_us_posts.js:190"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3bea067acf376c46", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_plumbing_blog.js:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_plumbing_blog.js:128"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fa5b14f8f59c484", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_431_435.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_431_435.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22e2c4e28eb3bc96", "name": "Stray `console.log` in TS/JS \u2014 scripts/boost_business.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/boost_business.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8278837c7c729cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_post_slugs.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_post_slugs.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e99724269ad2566", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_owner_businesses.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_owner_businesses.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d94748c7e572ed6", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply_image_fixes.js:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_image_fixes.js:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79b0d3f7ccd8dbd8", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_41.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_41.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73bf726867bda47d", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_80.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_80.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd795f3513ae714c", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_rls_access.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_rls_access.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c47abb73e12845b", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog.js:152", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog.js:152"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b4cd4b1344be9de", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase3_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase3_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26970869c4364655", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync_all_content.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_all_content.js:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ca16919fa488c47", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_missing_water.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_missing_water.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5b25698fa82ad30", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_day39.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_day39.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91776c458b1e2595", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_custom_profile.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_custom_profile.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b85cf3cf94c5c036", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_291_295.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_291_295.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-963f87af711fe338", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_luton.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_luton.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7282a9543ccff25b", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_final_blog_fix.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_final_blog_fix.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e47b6a9e9fe9908a", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-guide.js:229", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-guide.js:229"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03af46c9bfd4e5f4", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_safe_mode_profiles.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_safe_mode_profiles.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ba335b11bc1da75", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_84.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_84.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-347e0abe12f333f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_listings.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_listings.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2161c9d73e94d80e", "name": "Stray `console.log` in TS/JS \u2014 scripts/batch_convert_webp.js:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_convert_webp.js:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5994922541ba7a5a", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_final_duplicate_images.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_final_duplicate_images.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e074fb7c7a5355b8", "name": "Stray `console.log` in TS/JS \u2014 scripts/finalize-dev-account.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/finalize-dev-account.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0ee7761c9825808", "name": "Stray `console.log` in TS/JS \u2014 scripts/reimport_with_phones.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reimport_with_phones.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f2c69868a925514", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_blogs.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_blogs.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ddd77521ada7984", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blogs.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blogs.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ea70b650e90f48a", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3873489a2ee9d0b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_356_360.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_356_360.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78711dce35b7d278", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_58.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_58.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9998983611114aa0", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_schema.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_schema.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9ec578c5878d1d2", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_406_410.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_406_410.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd9e55509201ceb0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_9.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_9.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b11d9d0c5380fc9e", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_frozen_condensate.js:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_frozen_condensate.js:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79c9b8175576bf55", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_incorrect_links.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_incorrect_links.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-226196142c0ad118", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_foursquare_reviews.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_foursquare_reviews.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdf505f4ffb00e3e", "name": "Stray `console.log` in TS/JS \u2014 scripts/standardize_final_trades.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/standardize_final_trades.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3905a6f74b1f98a", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_data_read.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_data_read.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-322a6ad0957d079f", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_final_verified_us.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_final_verified_us.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce05a8c7dce9b8fa", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_cleanup.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_cleanup.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-257c546ce5cea678", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_75.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_75.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb3dd58e9aa34e9b", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_posts.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_posts.js:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b16699c6707cd66", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_166_170.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_166_170.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9d57a4500d99476", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_latest_blog.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_latest_blog.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2960a4ee4e7a25b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_102.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_102.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc4960bf050583c8", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_ev_charger.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_ev_charger.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df0f026fb84879ce", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_87.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_87.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b267ac4a05f06407", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_281_285.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_281_285.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df3e211fa5e116a5", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_recent.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_recent.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94fe8708c413f744", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_all_remaining_duplicates.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_all_remaining_duplicates.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77d1a94bd195aa27", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_blogs.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_blogs.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78f69eac464ca750", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_40.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_40.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7382d9663e33e046", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_security_hero_image.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_security_hero_image.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62c9dddea3ad939f", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_post_slugs.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_post_slugs.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3d05337b5e0534e", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boarding.js:196", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boarding.js:196"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa1be768b03a9cf1", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-env.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-env.ts:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e5955a457653463", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffa62bc109f83a90", "name": "Stray `console.log` in TS/JS \u2014 scripts/surgical_restore.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/surgical_restore.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cba892cd93054028", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_headers.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_headers.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5d3ede61fc8cae7", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed_london_blog.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_london_blog.ts:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a24c22aa565cb75", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_thaw_post.js:170", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_thaw_post.js:170"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97f30233e41eb3bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_daily_blog.js:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_daily_blog.js:94"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56e603d05b6b0a52", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_cover_images.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_cover_images.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94d2904c8e642ce3", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_browser.js:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_browser.js:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-072ec8e4ae96397c", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post.js:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post.js:177"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-543dd8b9026e42b3", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_duplicates.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_duplicates.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed5664c093718409", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_amazon_btn.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_amazon_btn.js:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a63421597aba315", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_121_125.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_121_125.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a6e9137135b44ff", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12b.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12b.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b57df4b55fb18b96", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c57b7ec8d1180e0", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c05e173829c2ea0", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_aranet_link_us.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_aranet_link_us.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f308f4665dde599e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_16.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_16.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff0d442ceefde807", "name": "Stray `console.log` in TS/JS \u2014 scripts/get_user_id.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_user_id.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17645d60f479fe4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_311_315.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_311_315.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-648cd59b256781be", "name": "Stray `console.log` in TS/JS \u2014 scripts/global_fix_v5.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_fix_v5.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abdbb30cf13267b1", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_rpc.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_rpc.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2283dfeb78249c8", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-electrical-blog.js:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-electrical-blog.js: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-6d99c8e2c002417a", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_30.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_30.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83a75745a4bed4cf", "name": "Stray `console.log` in TS/JS \u2014 scripts/global_swap_us_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_swap_us_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef0f62f2b4544f2d", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_ac.js:214", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_ac.js:214"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e94f6673e1632b4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/count_businesses.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_businesses.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e91f8c0ca2e3882", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps_v2.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps_v2.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0989d843fb16a3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_screenshot.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_screenshot.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-890d99c5813ff3a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_216_220.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_216_220.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05cfdfe98756c269", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_141_145.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_141_145.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92899ff9e03cdbcd", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error2.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error2.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62b5e49e84d6bac6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_10.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_10.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20e3dc4fb6331df9", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_351_355.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_351_355.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-88543d0b649b5202", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_321_325.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_321_325.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5adef1d01e0538c", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_chinese_chars.js:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_chinese_chars.js:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5eee37e6aced2c04", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.js:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.js:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89ebee6e8f9adef0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_366_370.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_366_370.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd63021a28775f2e", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_city.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_city.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94107973bbdb1657", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_331_335.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_331_335.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0395eeb794b3d713", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_columns.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_columns.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ced390342f222a7", "name": "Stray `console.log` in TS/JS \u2014 scripts/definitive_bidet_fix.js:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/definitive_bidet_fix.js:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c885f48eda0a8e9d", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_city.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_city.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b2e8328cb4dc385", "name": "Stray `console.log` in TS/JS \u2014 scripts/print_key.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/print_key.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ff077c7f0706e62", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_78.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_78.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf4579340dc29e20", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water_leak.js:277", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water_leak.js:277"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7a87d84183115a0", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_microplastic_blog.js:105", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_microplastic_blog.js:105"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0eccfd9637e0fe57", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_mega_batch.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_mega_batch.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a86f4bcc827ece59", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch2.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch2.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e3cec98cfbcc1f4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_146_150.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_146_150.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9353f61781929c41", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_counterparts.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_counterparts.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12357ba4f3173730", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_421_425.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_421_425.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5cdb16dad544138a", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_db_posts.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_db_posts.js:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab205032c2bc2726", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_63.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_63.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d79c4b04123e99a", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_current_us_db.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_current_us_db.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35f72a1f1c4954be", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_guide.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_guide.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d384c4c0f5fe9bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_houston_roofers.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_houston_roofers.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af0d2e4a363a770b", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_second_blog.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_second_blog.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-487337dd61741707", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_14.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_14.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-512c799cfd18cffe", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_costway_section.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_costway_section.js:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-39a91fb7658b5b49", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_191_195.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_191_195.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d391f7285ba62b29", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_posts.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_posts.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e8ea56c989ce286", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase7_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase7_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb2010bb1884ddb7", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_42.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_42.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3aa540ceac898c5", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_progress.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_progress.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac2ef444d6594914", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_car.js:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_car.js:177"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-059ba20973aa52ef", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas_final.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas_final.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e696ce5bd495ad4f", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_phase5_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_phase5_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-031553068b77a425", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_co_guide.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_co_guide.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-956bf0dd31d18ce9", "name": "Stray `console.log` in TS/JS \u2014 scripts/list-all-posts.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-all-posts.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4abaca93d25d3015", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_48.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_48.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-038f5dfa323e6c25", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_blog.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_blog.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1bad5c355b3a4ab1", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v3.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v3.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-308b323a5696b869", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_alt.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_alt.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-647d68206224a7d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_heatwave_blog_2026.js:261", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_heatwave_blog_2026.js:261"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61efb26f604724ba", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_blog_hero.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_blog_hero.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46cac73454d4efa3", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12b.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12b.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f5430b8790badba", "name": "Stray `console.log` in TS/JS \u2014 scripts/probe_thomson.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/probe_thomson.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b95806bd67de316c", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_seo.js:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_seo.js:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-159a339067d9efb8", "name": "Stray `console.log` in TS/JS \u2014 scripts/append_remaining_nyc_trades.js:172", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/append_remaining_nyc_trades.js:172"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a1ea2dbb21cf95e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_231_235.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_231_235.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e457a8c5e3d0e97a", "name": "Stray `console.log` in TS/JS \u2014 scripts/optimize_blog_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_blog_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-15c4c0f0bc068952", "name": "Stray `console.log` in TS/JS \u2014 scripts/master_ingester.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/master_ingester.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd2a30d7ec383aa3", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_186_190.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_186_190.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fceae1fab4b23da", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_17.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_17.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-649ea8683477e9b2", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-rss.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-rss.js:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9856095d3766c8e", "name": "Stray `console.log` in TS/JS \u2014 scripts/cross_reference_listings.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cross_reference_listings.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0188031a275ca9ff", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_boarding_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_boarding_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cdaefbfe77d86f8", "name": "Stray `console.log` in TS/JS \u2014 scripts/scrape_fill_uk_gaps.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_fill_uk_gaps.ts:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d585a362c74c812e", "name": "Stray `console.log` in TS/JS \u2014 scripts/super_fuzzy_purge.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/super_fuzzy_purge.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae5d01c2caffdd4e", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_final_cities.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_final_cities.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f093f9490412d6e", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_us.js:248", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_us.js:248"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c549f3ea561a5589", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_386_390.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_386_390.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d9af0aed529aa9e", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_block_pngs.js:173", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_block_pngs.js:173"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34b3ecf0baee92f1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_neobrutalism_issues.js:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_neobrutalism_issues.js:103"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc8fcb6af565a7a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_blogs.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_blogs.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ce5ed80bf53cd64", "name": "Stray `console.log` in TS/JS \u2014 scripts/convert_hollow_frame_images.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_hollow_frame_images.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-525e98a557294411", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_regional_purge.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_regional_purge.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a5ed71a635cc083", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_batch2_v1.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_batch2_v1.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afcf4da4c7540f61", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_hero_dupes.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_hero_dupes.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43054fc2dbe3cb4a", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_heatwave_blogs.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_heatwave_blogs.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe4bdb74ee537626", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_2.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_2.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29dfec87689f75e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_2.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_2.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e09f79d33e4900f1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78eaa01940119937", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day36_sunday_plumber_fees.js:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day36_sunday_plumber_fees.js:230"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f02a5be996c153d", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_csv_data.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_csv_data.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cd124c22f17b517", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_6.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_6.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d23447f3534e99df", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_us_resilience.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_us_resilience.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b88e5b02aa29e6c1", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_single_hyper.js:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_single_hyper.js:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f9db4bb428bad44", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_us_images_surgical.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_us_images_surgical.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc68561cce523c15", "name": "Stray `console.log` in TS/JS \u2014 scripts/simple_test.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simple_test.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eac993c410d65b7b", "name": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_protection_fix.js:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_protection_fix.js:132"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5543e473c00bb1a1", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_gas_and_lockout_blogs.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_gas_and_lockout_blogs.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fae565102d9811d8", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_15.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_15.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-572c9e6c4e92a333", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_data.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_data.ts:116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86665793ccfe1534", "name": "Stray `console.log` in TS/JS \u2014 scripts/export_posts_for_audit.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export_posts_for_audit.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8a55131cf585718", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_v4.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_v4.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c70a98cbc3a9a09", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_89.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_89.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb229bdc2c1ef69c", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-populate.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-populate.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac02245a19a36617", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync_sprint1_drains.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_sprint1_drains.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c93b9783b0ec4c2a", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blog_images.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blog_images.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1dfb7fcb595ea39e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_236_240.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_236_240.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e14bfb66aa672aa", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_toilet_blog.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_toilet_blog.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d4abd1e8bd4d2ce", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_24.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_24.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd623658a7b5b488", "name": "Stray `console.log` in TS/JS \u2014 scripts/get_posts_batch.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_posts_batch.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84a06f088e7e2004", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_costway_orphan.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_costway_orphan.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9677bfb88457f7e1", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_color_blocks.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_color_blocks.js:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c47ebdc7c241359d", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_target_coverage.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_target_coverage.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f298b331b6d0eff1", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v3.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v3.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92a58fea6d1506d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_database_posts.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_posts.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-157ade05cd6be8fc", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_garden_blog.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_garden_blog.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b302f3f3bb81404", "name": "Stray `console.log` in TS/JS \u2014 scripts/convert_to_webp.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_to_webp.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdee86d10b7d273b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_156_160.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_156_160.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68d86471a5871790", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_181_185.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_181_185.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f989bbcbbd7d3db9", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_201_205.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_201_205.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63789b8dc30fab71", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_batch.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_batch.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d156e0fd8986a9bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post_us.js:173", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post_us.js:173"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-464cd7a5881cf035", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_elevenlabs_key.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_elevenlabs_key.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-925f4df2fe25c2fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/populate-emails.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/populate-emails.js:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb64529891b6b47c", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_buttons.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_buttons.js:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-620bfcdd0017e496", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_button_position_fix.js:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_button_position_fix.js:119"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9113d6e654fbac1b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_326_330.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_326_330.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1ea328563739b1a", "name": "Stray `console.log` in TS/JS \u2014 scripts/manual_insert_newcastle_electricians.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/manual_insert_newcastle_electricians.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c506248d621aed3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_condensate_post.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_condensate_post.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d195ea2503c93806", "name": "Stray `console.log` in TS/JS \u2014 scripts/count_total_supabase.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_total_supabase.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7caf57c4f9f1c09e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_86.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_86.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04b6a5e0db56dac9", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase10_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase10_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78a58c8a5e67a79f", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_91.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_91.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e309a044409dbcb0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_346_350.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_346_350.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4864a5c29d78ad5", "name": "Stray `console.log` in TS/JS \u2014 scripts/full_site_webp_conversion.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/full_site_webp_conversion.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-813b0285088a4150", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_insert.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_insert.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d602fbbdd72a77c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_59.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_59.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84a8bb8108889c0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40054b0e45286182", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post-v2.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post-v2.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e521887516ba52c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_47.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_47.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-988e466c1cd2b1ea", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day61_blogs.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day61_blogs.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b3560adabaa7c10", "name": "Stray `console.log` in TS/JS \u2014 scripts/scrape_yellowpages.ts:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_yellowpages.ts:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f4bafaf9544cec1", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_roof_leak.js:167", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_roof_leak.js: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-1816ef631c6d2d3f", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_structural_guide.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_structural_guide.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3eb4b738093d3ecb", "name": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v2.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v2.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94c74cf96e5287b1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_blog.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_blog.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2cd8b039b3c0f4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_36.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_36.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12f6d691884deb8d", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase2_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase2_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9f80353adeb719e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_256_260.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_256_260.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0be7d78afc1721f", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_refrigerant_gb.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_refrigerant_gb.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19cda9a63a033028", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12c.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12c.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62b3eec84eb2bfa9", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_duplicates.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_duplicates.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63118d7d2e3492d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_availability_db.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_availability_db.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20f038d16437bb26", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_la_tow_trucks.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_la_tow_trucks.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01b478d42f29ffff", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze_image_spacing.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_image_spacing.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0874ade6f433da1a", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d82b06715c2cb96", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_rls_admin.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_rls_admin.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d7daac1cee8eb03", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_poole.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_poole.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87c2d8d1783235a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_65.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_65.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cedeac0d2728a8cb", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_regional_misalignments.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_regional_misalignments.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa39e36286149b9a", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_13.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_13.js:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5bb3cfbc681d18e1", "name": "Stray `console.log` in TS/JS \u2014 scripts/simulate_load_posts.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_load_posts.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbd073432acd7473", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_151_155.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_151_155.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17f142de41412066", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase9_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase9_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8254d7a38da1f9a1", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_blocked_drains.js:258", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_blocked_drains.js:258"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6dc248979822ff6c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_176_180.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_176_180.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed6f3f8a8b179fd5", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_2a_images.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_2a_images.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97d33b6c8f9dc812", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_pillar_pages.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_pillar_pages.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-363aaf89b3a6090b", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_verification.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_verification.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-178c9807bbe3e105", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_usa_paths.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_usa_paths.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38b5d8d4f4a77bc5", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_legal_emergency_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_legal_emergency_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec324c6140367444", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_31.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_31.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da98953e0fbbd651", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_spring_thaw_seo.js:156", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_spring_thaw_seo.js:156"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de0a14d938772f70", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_fair_price_posts.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_fair_price_posts.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f0e399894e8cac0", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_mega_batch_duplicates.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_mega_batch_duplicates.js:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5cd8549f8c180c47", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_206_210.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_206_210.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed419367de65070f", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering_fixed.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering_fixed.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c50173636122fa95", "name": "Stray `console.log` in TS/JS \u2014 scripts/complete_unique_mapping.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_unique_mapping.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e0a3ee66a56696b", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_hvac_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_hvac_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-705d5f0d1d231104", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_titles.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_titles.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d99e20884b4e054", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_97.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_97.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-babf968bebdd1fcf", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_9.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_9.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1ff5aad091e4978", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_current_blog_images.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_current_blog_images.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5dc3fa591904af6a", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_elements.js:98", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_elements.js:98"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d0d6466a2a6010d", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-blocked-drains.js:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-blocked-drains.js:116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-beb6c9ba8a5065df", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_azure_key.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_azure_key.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64bfe50098a5a844", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_100.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_100.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb4383e8a07e3f76", "name": "Stray `console.log` in TS/JS \u2014 scripts/optimize_profile_images.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_profile_images.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3fc17e86cf7ed3a3", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_blog_images.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_blog_images.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8383f99a1b670a05", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase14_batch1.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase14_batch1.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfb42c4fbf325c4e", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_refrigerant_gb_hero.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_refrigerant_gb_hero.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46edd0bc83b12944", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d71f0c1fc406116f", "name": "Stray `console.log` in TS/JS \u2014 scripts/integrate_authority_links.js:191", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/integrate_authority_links.js:191"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57c2a6ad1a045275", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_posts.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_posts.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efe71e3ee92833be", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_index.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_index.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0ed72cf80bdbb89", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_3.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_3.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a53d933afff42bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_mould_blogs.js:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_mould_blogs.js:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c8adae9843a73bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_shutoff_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_shutoff_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4eda78b3462b94fa", "name": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_links.js:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_links.js:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-763d2b86c3ec36b0", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12c.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12c.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd11dac29531f8c0", "name": "Stray `console.log` in TS/JS \u2014 scripts/emergency_image_fix.js:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/emergency_image_fix.js:119"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1717d67ec9e2ab9b", "name": "Stray `console.log` in TS/JS \u2014 scripts/show_current_blog_state.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/show_current_blog_state.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2174bf90486d34f9", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_35.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_35.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5faa5878a0bda64", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_models.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_models.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc4749e2009c87ab", "name": "Stray `console.log` in TS/JS \u2014 scripts/optimize_energy_shock_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_energy_shock_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad4bc04ebf8d2ca1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch.ts:78"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25b6f3046b080597", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog_us.js:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog_us.js:127"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ea0a45a03720d32", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_296_300.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_296_300.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb0dde1980d83fdf", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_8.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_8.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ccca278a021c352", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_distribution.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_distribution.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f698dc9a04204ea1", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_data.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_data.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04077c42925432e6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_436_440.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_436_440.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a8c1a8f0cdfd87f1", "name": "Stray `console.log` in TS/JS \u2014 scripts/get_us_count.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_us_count.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-866a325de8fd9334", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_221_225.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_221_225.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04c2edf99675742b", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_birmingham_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_birmingham_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ccaa9e70b32496c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inspect_blog_content.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inspect_blog_content.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a691207d6f2004e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water.js:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water.js:177"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52cc32c37059ed4e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_411_415.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_411_415.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72042a22872b0f2c", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog_us.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog_us.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12dc3c3ad10e3e95", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_luton_query.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_luton_query.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e606a548f056a61c", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_101.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_101.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ebba8a27efc1a88", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_85.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_85.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9277c00c0bf0f1b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_306_310.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_306_310.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45f15a19275150c7", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_161_165.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_161_165.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fd4795d2f007df3", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_all_slugs.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_all_slugs.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1370d81a1f3f962f", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_5.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_5.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7531fa7bd2045413", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_regional_posts.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_regional_posts.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9daa16416f14ae1", "name": "Stray `console.log` in TS/JS \u2014 scripts/verified_manual_orchestrator_us.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verified_manual_orchestrator_us.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb4c533a0d1b0dfe", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_db_headers.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_db_headers.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2d5375e164ab2d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_trade_dist.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_trade_dist.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-745885b4dfe702ea", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1eac80f628320447", "name": "Stray `console.log` in TS/JS \u2014 scripts/make-premium.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/make-premium.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a24b0e77df2150f0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_4.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_4.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-703ca93cf22426bc", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_71.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_71.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45b4384a2e3b84ef", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_update.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_update.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2920f07e896a8f7d", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_37.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_37.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-348265e01f66f0f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_candidate_key.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_candidate_key.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7d7e00f879f5b08", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_solar_blogs.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_solar_blogs.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5b836b779e8ce4", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_water_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_water_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e300869b79bbe4c0", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_fuse_box_blog.js:159", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_fuse_box_blog.js:159"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b87db328a4cca388", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase6_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase6_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8bb72aa0e35de20e", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate_london_extra.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_london_extra.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2dd4491fc18ede09", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_blog_content.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_blog_content.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2050b894ff381629", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_7.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_7.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c27fb88f65bbb9c8", "name": "Stray `console.log` in TS/JS \u2014 scripts/convert_spring_thaw_xsense.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_spring_thaw_xsense.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3604d837abcc8997", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_32.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_32.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6e8503b689308a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_duplicate_images.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_duplicate_images.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d7e29b9492c74f0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_136_140.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_136_140.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf4774f5b67a44d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic_runner.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic_runner.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec4177b0b070ab17", "name": "Stray `console.log` in TS/JS \u2014 scripts/count_verified_uk.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_verified_uk.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6c00ab883498f22", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_businesses.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_businesses.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6fad9bba916b6a0", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert_auth.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert_auth.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40c49da559f496b7", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_hero.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_hero.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d92c0cf2f46960e9", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_93.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_93.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afbc3386c4f17cd4", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup_secrets.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup_secrets.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50263b55cd27bf16", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_396_400.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_396_400.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58c015eff9579759", "name": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_seo.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_seo.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a7a65ac7bb69a51", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-locksmith-paths.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-locksmith-paths.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d77ac1a1b46f02a", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-blog-migration.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-blog-migration.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3a37c42e7ef5724", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-storage.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-storage.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0bdb9ab73d326aa7", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_dallas.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_dallas.ts:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-242ac34acea7e77a", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase_v2.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase_v2.js:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4c6315c387ae0a4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_43.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_43.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca47fb2d0b78ca90", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_html_wrapper.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_html_wrapper.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe33f42eeb28bc9f", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync_listings.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_listings.ts:78"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7fa1964790a4a0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_lancaster.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_lancaster.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ef8120bd8c850bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_81.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_81.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1bfc83fd6d74430e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_105_110.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_105_110.js:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab134919ab0f96fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_links.js:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_links.js:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fcf1b12555c1c7c", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_tables.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_tables.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acd3f6c65be8dbfc", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_12.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_12.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89908d47d7000b1f", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee7e081b0b905774", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_restoration.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_restoration.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed5efad1c465b2c4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_416_420.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_416_420.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-458e456987395bfb", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_deduplication.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_deduplication.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1777b4c2daba817d", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regionalized_blog.js:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regionalized_blog.js:127"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ded5913c96c7ac8", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_voice_id.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_voice_id.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9d2309b214e1d58", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_progress.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_progress.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f4b4b9a6cab8d85", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_96.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_96.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52149d32c37a82a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_placeholders.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_placeholders.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d683d735fa04ce1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_27.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_27.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16b9201dd6a47a67", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_261_265.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_261_265.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd4450d761a3f061", "name": "Stray `console.log` in TS/JS \u2014 scripts/batch_add_texas_florida_roofers.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_add_texas_florida_roofers.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a462aaaba4ac1c4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_38.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_38.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86304840641f10f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_45.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_45.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-153cc2a153fde420", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_64.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_64.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bda50c39b9d2a453", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_92.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_92.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e67b361f985ea263", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_74.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_74.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e706668b446c8c1d", "name": "Stray `console.log` in TS/JS \u2014 scripts/enrich-postcodes.js:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/enrich-postcodes.js:230"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-390b1f2df88217dc", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_aberdeen_water.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_aberdeen_water.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29982962f64ac191", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_44.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_44.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bb57ccfa339e09c", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_expansion_v1.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_expansion_v1.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-880c4dc0a7d6cb5c", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_phoenix_seattle_tow.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_phoenix_seattle_tow.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0fc4bea2d52a90d", "name": "Stray `console.log` in TS/JS \u2014 scripts/set-secrets.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-secrets.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ef89f9c5e2f53f1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_211_215.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_211_215.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-310d9eef7c5a88a9", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post_direct.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post_direct.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18f3280c6ca8e5fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_5.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_5.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb9a1ff6b288aac4", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_rls_policy.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_rls_policy.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-beab7c478d56d840", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_57.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_57.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9cc225cddc53c77a", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_regional_duplicates.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_regional_duplicates.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9233ba1cdaeb0b69", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply_migration.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_migration.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab6f86c7592315a3", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_locksmith_blog_images.js:112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_locksmith_blog_images.js:112"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d405ac7d7512f7d", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_toc_faq_regulatory.js:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_toc_faq_regulatory.js:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-649fe31307fc3668", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_hvac_batch2.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_hvac_batch2.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3ca3743424e07fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_costway_image.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_costway_image.js:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9322c124eafae451", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest_knowledge_base.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_knowledge_base.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebb027384cdc1776", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_plumber_infinite.js:246", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_plumber_infinite.js:246"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49304b062bc87d4d", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_user_profile.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_user_profile.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c939f8a69c8425bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_90.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_90.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8aa6906e86bebac5", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_us_hero.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_us_hero.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44b88b9fdeb33540", "name": "Stray `console.log` in TS/JS \u2014 scripts/clean_city_postcodes.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_city_postcodes.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-419146866efd474a", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch4.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch4.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6015cab35ee1e8cb", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase12_import.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase12_import.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fda5c6fbf1a2de5e", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_all_usa.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_all_usa.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da8c644a023f9007", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_336_340.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_336_340.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efbcefd496a8b1d8", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_duplicates.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_duplicates.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a4ba745948d6e64", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_manual_business.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_manual_business.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b49c0d395965e20", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_public_access.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_public_access.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d787d71f0e15025", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_status.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_status.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21388089b22fd921", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_uk.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_uk.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c30e6a763cdaf41", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_426_430.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_426_430.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19d6e46f06ac9598", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_audit_reports.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_audit_reports.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcaf542720c8750a", "name": "Stray `console.log` in TS/JS \u2014 scripts/convert_webp.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_webp.js:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebef57c51230d17d", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_104.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_104.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6f9116c0a3acbcd", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_68.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_68.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-851f4e278963234b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_15.js:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_15.js:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29b32f0d9fcf97b6", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day37_glazing_blog.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day37_glazing_blog.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdbfef1baa560a28", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_images.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_images.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-540a6bd475b10cc5", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v2.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v2.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f941d7c69e5fee4", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_city_filter.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_city_filter.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5cc76d175e8d12d", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_slugs_ids.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_slugs_ids.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccad5e47cdb71f09", "name": "Stray `console.log` in TS/JS \u2014 scripts/optimize_microplastic_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_microplastic_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ee5a5cd9849ba83", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_images.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_images.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56c0dca46793afcd", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_image.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_image.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48af999bca9346a5", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_70.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_70.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a656f984a0cc6cdf", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_slugs.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_slugs.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57ce095d54e487e0", "name": "Stray `console.log` in TS/JS \u2014 scripts/complete_all_cities.js:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_all_cities.js:151"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d504cc2106593199", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_21.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_21.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81c8c5b8731f3b16", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicates.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicates.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8dcde0ab775ac7e7", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_posts_batch1.js:640", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_posts_batch1.js:640"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0818d204839fc3c9", "name": "Stray `console.log` in TS/JS \u2014 scripts/set-service-role-secret.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-service-role-secret.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c250117457d44a92", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_id_gen.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_id_gen.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2539ad493b4d10b6", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_seo.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_seo.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecc1413d6c42a1b0", "name": "Stray `console.log` in TS/JS \u2014 scripts/clean_all_blogs.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_all_blogs.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49fc7ecaeda58cf3", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_water_leak_blog.js:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_water_leak_blog.js:128"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f381cec16c541bdc", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_water_restoration.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_water_restoration.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11bc5256d5d9e5ca", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_ghost_costway.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_ghost_costway.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a60f362d1e5a93d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7810109077c71d08", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_images.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_images.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93fa5da368ae28bc", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_city_names.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_city_names.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9840d703816cd86c", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze_uk_gaps.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_uk_gaps.js:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cfc81008a4b9b65", "name": "Stray `console.log` in TS/JS \u2014 scripts/swap_us_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/swap_us_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d26ae80a5743c6d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose_rls.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose_rls.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ce020b211bda562", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_nyc.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_nyc.ts:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64cb8f7252124a28", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_22.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_22.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c60a5137d71bca5", "name": "Stray `console.log` in TS/JS \u2014 scripts/count_db_businesses.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_db_businesses.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fcae7a356365524", "name": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v3.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v3.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8caa7c551e857105", "name": "Stray `console.log` in TS/JS \u2014 scripts/bulk_seo_update.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bulk_seo_update.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a96308ffb61b3c1", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_sewer_backup_gb_hero.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewer_backup_gb_hero.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6a740827b023164", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_luton_profile.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_luton_profile.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a9f6f6564a290ec", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-blog.js:390", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-blog.js:390"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4797d63f7a7ba005", "name": "Stray `console.log` in TS/JS \u2014 scripts/seo_update_blogs.js:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seo_update_blogs.js:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c275825d4164198", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_blog_hero.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_blog_hero.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff6d343bd86aaa08", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_slug_id.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_slug_id.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06a4dc384ae9cb96", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_49.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_49.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c07828c754bc1e23", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_116_120.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_116_120.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8513e2b605f1dcf0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_14.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_14.js:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-813897bf44f75ccd", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_emergency_guide.js:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_emergency_guide.js:198"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d8525136bc26808", "name": "Stray `console.log` in TS/JS \u2014 scripts/scrape_all_us_cities.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_all_us_cities.ts:138"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-175efa8d3fb648b6", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_missing_sf_trades.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_missing_sf_trades.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04d1db2c65a603ca", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_orphaned_btn.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_orphaned_btn.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0e0265fbbaafbca", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_56.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_56.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f113eaf7456c372", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_refrigerant_gb_duplicate.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_refrigerant_gb_duplicate.js:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9924e9b2041fb286", "name": "Stray `console.log` in TS/JS \u2014 scripts/global_scrub_db.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_scrub_db.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48d85383d821818e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_6.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_6.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c24aad2800dc867", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_sf_restoration.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_sf_restoration.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e93b1f0817f651b", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply_us_schema.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_us_schema.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47745950c693a659", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_11.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_11.js:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26775560328cfba8", "name": "Stray `console.log` in TS/JS \u2014 scripts/revert_hero_fix.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/revert_hero_fix.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0a48fb4177acfb8", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f22b69ddfe6c9ab2", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_burglar_proof_blog.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_burglar_proof_blog.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90845df600ae065c", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_iwd_blog.js:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_iwd_blog.js:132"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3abb1b69f8ff008", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_duplicates.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_duplicates.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d099e6e06a12ec2", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-prod-db.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-prod-db.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac9cab78055e3279", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_19.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_19.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5d7ec5cb3f780c7", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1136e367d0712eb", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_441_445.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_441_445.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d39b8c62c5716641", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_blog_update.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_blog_update.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98f5d1e1569e15cf", "name": "Stray `console.log` in TS/JS \u2014 scripts/clean_blogs.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_blogs.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7af616e59e55b274", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_376_380.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_376_380.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b01b5bbe7d8c0b5e", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_glazing_board_up_blog.js:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_glazing_board_up_blog.js:136"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9db0f1cf366d7380", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25b36270f8342488", "name": "Stray `console.log` in TS/JS \u2014 scripts/map_color_blocks_to_blogs.js:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/map_color_blocks_to_blogs.js:104"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a9a746f6fa6b334", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_gas_leak.js:173", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_gas_leak.js:173"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a00593e933c84366", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_171_175.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_171_175.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-568ed964b781248d", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_446_450.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_446_450.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3ff8ca0aa4cc3c5", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boiler.js:199", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boiler.js:199"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe2169f1b76936d1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_premium_images_final.js:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_premium_images_final.js:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82ded29b524d4f74", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_businesses.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_businesses.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c287bbec4141d23", "name": "Stray `console.log` in TS/JS \u2014 scripts/show_orphaned_context.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/show_orphaned_context.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb89f9b5d2e2a365", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_original_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_original_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c99ea1f2e90f436e", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_live_data.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_live_data.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd13cb3cd1962fa7", "name": "Stray `console.log` in TS/JS \u2014 scripts/add-business-emails.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-business-emails.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89b4cf8b09a6836d", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_131_135.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_131_135.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3d539557d577943", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase8_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase8_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a12a207a04fa596b", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians_v2.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians_v2.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a56b21d494ff75e", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95a1b89cb22227e7", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_encoding.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_encoding.js:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c034308a5d28e62e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_29.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_29.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b89236ff6bd9bcdd", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_total_count.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_total_count.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-418860a85aa00ec9", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_missing_paths.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_missing_paths.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5e833513be7a704", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_current_hero.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_current_hero.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0207254f37c6216", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_52.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_52.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a10faf759554077", "name": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_url_safe_fix.js:147", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_url_safe_fix.js:147"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c563de3bc6c8ecbe", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase4_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase4_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f595a1fcc07ae24", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79af278b3c4316f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_premium.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_premium.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3df5f036bcc64dff", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_amazon_regex.js:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_amazon_regex.js:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29a7874fe226fd48", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_all_tests.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_all_tests.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c74a27d96e09f337", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_cleanup.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_cleanup.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e7658f75cc9d973", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_image_paths.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_image_paths.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-522858cd583f5cc4", "name": "Stray `console.log` in TS/JS \u2014 scripts/bridge_blog_gaps.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bridge_blog_gaps.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-601e522451025d3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/redistribute_blog_images.js:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/redistribute_blog_images.js:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86bc95e5444dadd7", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_storm_damage.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_storm_damage.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acfa32bba39f9c9c", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_electrics_blog.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_electrics_blog.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2f7b120291c5114", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_button_block.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_button_block.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22ad579ae23b802d", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_portable_power_blog.js:157", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_portable_power_blog.js:157"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fde39cb9c1f15b73", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.ts:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.ts:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-536345034716ad25", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_76.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_76.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-952905772ac8ebd4", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_birmingham_import.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_birmingham_import.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e2f39bcdb685247", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_83.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_83.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d633ad91e11120f", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day39_blog.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day39_blog.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-88cace1d0733766d", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_5_signs.js:172", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_5_signs.js:172"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2419a6536e5172f1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_301_305.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_301_305.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f055ed4e055d43a1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_28.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_28.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faed7183d0f271d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_blocks.js:144", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_blocks.js:144"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0f38681b2cc406f", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_timestamps.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_timestamps.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-850ebca51cffaa60", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_60.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_60.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04cc8f5b31965839", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_401_405.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_401_405.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f56e58f858a57b20", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_53.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_53.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c24b47811eee3e0", "name": "Stray `console.log` in TS/JS \u2014 scripts/mass_restore.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/mass_restore.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71134e45e96c8be8", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_cracks.js:163", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_cracks.js:163"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9fccdcdcfca5d13e", "name": "Stray `console.log` in TS/JS \u2014 scripts/bulk-sync.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bulk-sync.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1d618ad683c8039", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-at-home.js:206", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-at-home.js:206"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96407a37c8563884", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_ac_hero.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_ac_hero.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7266bc52d9326d05", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_power_station_link_us.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_power_station_link_us.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0ca5f016d27bfd6", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_hubs.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_hubs.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca1c03302aa915d2", "name": "`truncate` class without `title=` for hover reveal \u2014 scripts/BusinessCard_temp.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 scripts/BusinessCard_temp.tsx:121"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65387ae314d187b5", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_98.js:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_98.js:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-917b6f6ece627edd", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest_quarantine_us_json.ts:105", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_quarantine_us_json.ts:105"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-286ba64eddab580d", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_locksmiths.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_locksmiths.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be01b1ed9e8105c9", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_extra_closing_divs.js:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_extra_closing_divs.js:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cc398ea56b24a35", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_391_395.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_391_395.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b17bbdeda4b60843", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase5_trades.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase5_trades.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cd8619731bce1e0", "name": "Stray `console.log` in TS/JS \u2014 scripts/reconstruct_original_mapping.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconstruct_original_mapping.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c810982bac9c9da", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_25.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_25.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7a9795a0900b7bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_61.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_61.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6823b100d3487f09", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_1_images.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_1_images.js:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1beed2c99099d7aa", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_batch_blog.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_batch_blog.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0642819034ef307", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_99.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_99.js:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57971a3ae54d9d60", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_286_290.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_286_290.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-041f9ca4fa8c4a09", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_blog_cleanup.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_blog_cleanup.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35d13e104fc658f5", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_73.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_73.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bd406880742273c", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_uk.js:247", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_uk.js:247"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40749a005e86c242", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_55.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_55.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20c39c840f1fc176", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_links.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_links.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a340a60e11228132", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_23.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_23.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc906dede6e2948f", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbda70a22ef122f0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_8.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_8.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83d80ca20f346403", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal.js:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7463ef1914da388c", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_missing_cities.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_missing_cities.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-098d604449b7b04d", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-claims-bucket.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-claims-bucket.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f39297004df8009f", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_count.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_count.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f606772a2dbffae", "name": "Stray `console.log` in TS/JS \u2014 scripts/convert_all_blog_images.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_all_blog_images.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26886e7b3222bd26", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase2.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase2.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d860135e075d6c1a", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_data_integrity.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_data_integrity.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daab99eec6c6c5eb", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_containers.js:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_containers.js:138"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a173a4ff8ba89752", "name": "Stray `console.log` in TS/JS \u2014 scripts/complete_sf_data.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_sf_data.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0385893359a96cfd", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_duplication.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_duplication.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e108d93b21a1fca4", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal_v2.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal_v2.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e05e79e2f331af9f", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply_regional_migration.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_regional_migration.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57abde931d1f0580", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_316_320.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_316_320.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d007ed3dc81fb966", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_tables.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_tables.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e50ba7396a0429a", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_266_270.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_266_270.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ab504d0312b94e2", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicate_panic_blog.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicate_panic_blog.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0587b666c18f9ea", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_amazon_link_us.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_amazon_link_us.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4434b837389b8916", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_371_375.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_371_375.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-824ea99b744a2202", "name": "Stray `console.log` in TS/JS \u2014 scripts/dump_locations.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_locations.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a5156eedb0acd97", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_todays_blogs.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_todays_blogs.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b989d85c5882af7", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94b4d8676bf8b6a4", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_insert_permission.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_insert_permission.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-765f64fa10d94043", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_fetch.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_fetch.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-498e1e9200082d07", "name": "Stray `console.log` in TS/JS \u2014 scripts/global_duplicate_cleanup.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_duplicate_cleanup.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-021d0e166e96dfc6", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_divs.js:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_divs.js:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30ee4614e8892dee", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_redundant_power_blog.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_redundant_power_blog.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f6b335ee0e0af98", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_39.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_39.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44234177fa28cae0", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed_panic_blogs.js:147", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_panic_blogs.js:147"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-beefc05561b492da", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_trades.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_trades.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cb3bab6253d5122", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch3.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch3.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2694c07d5223069a", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_sewage.js:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_sewage.js:200"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c26e524092ef47f9", "name": "Stray `console.log` in TS/JS \u2014 scripts/set-sendgrid-secrets.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-sendgrid-secrets.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-728beb29d8b8baa2", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_271_275.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_271_275.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-880fbb52daf031f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts_v2.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts_v2.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19d13dd6ba214c0e", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_blog_hero.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_blog_hero.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6343039dbfcac93", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_4.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_4.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bef8e378603d932b", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_88.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_88.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b80580a2082f03d3", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_real_reviews.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_real_reviews.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cc7afffb6b59c77", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_electricians.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_electricians.ts:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28638e77e324ea69", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate_static_data_to_supabase.js:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_static_data_to_supabase.js:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-800a7e7779b3bc0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_groupA_trades.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_groupA_trades.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0cc80d53e14aac1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_66.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_66.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49d663edd3fc3084", "name": "Stray `console.log` in TS/JS \u2014 scripts/reformat_blog_layout.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reformat_blog_layout.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69648cc5697c2283", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_381_385.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_381_385.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-388fe42dcb846376", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_bidet_button_fix.js:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_bidet_button_fix.js:119"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b929070956dbffe9", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_schema.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_schema.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e06e46d95e4d1f6a", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.js:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.js:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-064230c296e98cf1", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_13.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_13.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7a6e514dd177245", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_94.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_94.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e79afdd4faf9ad20", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_241_245.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_241_245.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b019ddfdbaa22096", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_purge_v3.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_purge_v3.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9fc96540605593b", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_energy_shock_link_us.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_energy_shock_link_us.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a75b3ccaec479aa9", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_day60_blogs.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day60_blogs.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2027583b34da775", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_95.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_95.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcec4e951706c318", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_product_box_image.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_product_box_image.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7d97a162dd4f8d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_premium_fix_uk.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_premium_fix_uk.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b11e4758e8cc9c6f", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_3.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_3.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1736fdb604a0ef42", "name": "Stray `console.log` in TS/JS \u2014 scripts/find_images.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_images.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0607a197007c879", "name": "Stray `console.log` in TS/JS \u2014 scripts/TradeCityPage_temp.tsx:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/TradeCityPage_temp.tsx:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4a19077220f01c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/aggressive_blog_purge.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/aggressive_blog_purge.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d42f37f1cd84fc4e", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_car_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_car_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8aad017dd92f41b8", "name": "Stray `console.log` in TS/JS \u2014 scripts/clean_em_dash.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_em_dash.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b244040b09716d3f", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-716ad1393fbf9299", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_table.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_table.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cba844266dcc317", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_rpc.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_rpc.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14e59c680bbdc0d1", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch1.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch1.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2f6a416596c94cf", "name": "Stray `console.log` in TS/JS \u2014 scripts/enrich-emails.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/enrich-emails.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c2d1a21990dcf3d", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_lockout_blog_hero.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_lockout_blog_hero.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14d7f04df02dde39", "name": "Stray `console.log` in TS/JS \u2014 scripts/dump_content.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_content.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bef9ccfe1274f097", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_database_content.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_content.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f210aae56f01cdda", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_detailed_cities.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_detailed_cities.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e42fac854897b220", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_images_v2.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_images_v2.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1edcd0cf13632866", "name": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps_priority.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps_priority.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51ff819c1086973b", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch1.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch1.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71b9f9c0fa9afc66", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove_first_orphaned_section.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_first_orphaned_section.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc8929944c64a943", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_power_outage.js:245", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_power_outage.js:245"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fad0aef6871348a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_67.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_67.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-150a21e76c653bd1", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish_pest_ingress.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_pest_ingress.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-396abcccffeec18f", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_246_250.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_246_250.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3744802f4e6a482", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_54.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_54.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9aba69f13053138c", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed_locations.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_locations.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec897739266d4562", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_26.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_26.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c1eecaa13ce2226", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog.js:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog.js:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f85da960850247e", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_reliable_tradesmen_post.js:152", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_reliable_tradesmen_post.js:152"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c28e684fb625a57", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_62.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_62.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1778b7986cdba305", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_database_metadata.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_metadata.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d25817cca7e1825", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_50.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_50.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9cf308caffca3d18", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_refrigerant_gb_product_box.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_refrigerant_gb_product_box.js:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2614022aee2abd8e", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_location_index.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_location_index.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b03aba246bf36fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_72.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_72.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f69ae84c6f03eb6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_196_200.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_196_200.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2d23c3f938fd908", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-missing-postcodes.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-missing-postcodes.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a50403de6ea543d6", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_276_280.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_276_280.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ea4c506022f1330", "name": "Stray `console.log` in TS/JS \u2014 scripts/db_content_updates.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db_content_updates.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28e484654490b94d", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate_blogs.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_blogs.js:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a3b4808fb7da84a", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_plumbing_guides.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_plumbing_guides.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb7041b159af6ae7", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_blogs.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blogs.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ed840665083bb7e", "name": "TODO/FIXME marker in shipping code \u2014 scripts/migrate_mock_data.js:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 scripts/migrate_mock_data.js:7"}, "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-981abcdbcfa0d024", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate_mock_data.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_mock_data.js:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bab5495974cafea", "name": "Stray `console.log` in TS/JS \u2014 scripts/create_blog_image_mapping.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create_blog_image_mapping.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef8116b76317f243", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_post_branded.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_post_branded.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5e3a342f721d774", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_published.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_published.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f4229023be2c93a", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_all_images.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_all_images.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc9d12a36def11b4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_20.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_20.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8395e3f3f41e06d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_82.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_82.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff707452b1ebbfec", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_large_paragraphs.js:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_large_paragraphs.js:104"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3bd09e0861ae1e06", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_component.js:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_component.js:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1623c224ad6cb8ad", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_locations.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_locations.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbb436c548c66bf4", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v2.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v2.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bb53d67b897466b", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_us.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_us.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b88abb0e51537a2f", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit-empty-pages.js:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-empty-pages.js:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b724e7a985fead6", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_blog_titles.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_blog_titles.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c93232f5408677b7", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_listings.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_listings.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec62272b5442831a", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_18.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_18.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23cfba651bd39e11", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cae1c823b2ce4074", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_all_regional_posts.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_all_regional_posts.js:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-088fc27ed5f42271", "name": "Stray `console.log` in TS/JS \u2014 scripts/batch_regionalize_us.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_regionalize_us.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ce20766f76336a0", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_341_345.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_341_345.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9f9be771aaac349", "name": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_images.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_images.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-752ecf11799676fd", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_logic_standalone.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_logic_standalone.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23fa7def451e4337", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_us_schema.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_us_schema.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-450b59964621f394", "name": "Stray `console.log` in TS/JS \u2014 scripts/delete_5_signs_blog.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_5_signs_blog.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4fef6df2cc35c7a", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_recent_posts.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_recent_posts.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c04e01736edb8983", "name": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_images.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_images.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54bef408c14d2ed2", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest_full_us_cities.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_full_us_cities.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-305a38cedaa94f17", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_46.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_46.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4efa366bf3d26e9", "name": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_us.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_us.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2cfc2830f65630e", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_51.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_51.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-635e9fff47ab5b5c", "name": "Stray `console.log` in TS/JS \u2014 scripts/dump_businesses.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_businesses.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0c8a8d08d9e3d14", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_103.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_103.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-248921179e244701", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_226_230.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_226_230.js:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccf3b13eec93b7b7", "name": "Stray `console.log` in TS/JS \u2014 scripts/create_temp_user.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create_temp_user.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49fe325e3d15ae83", "name": "Stray `console.log` in TS/JS \u2014 scripts/list_all_posts.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_all_posts.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-098ed5d6f9443ea2", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_london_extra.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_london_extra.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40ed6af2acbd4118", "name": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff52cab03adfa86c", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_improve_not_move_blog.js:265", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_improve_not_move_blog.js:265"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-deaa7298faa7e1c4", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_adaptive.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_adaptive.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70b012e94c4896b0", "name": "Stray `console.log` in TS/JS \u2014 scripts/rename_profile.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rename_profile.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c97ec4115f578c0d", "name": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_water.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_water.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f967462727f3c5a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_listing_report.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_listing_report.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-860498d704656270", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_11.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_11.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0eb8253b291b6c6b", "name": "Stray `console.log` in TS/JS \u2014 scripts/get_uid.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_uid.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98d1ef7a1ea6d2f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/purge_duplicates.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/purge_duplicates.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d228a0939cda7b90", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_locked_out.js:248", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_locked_out.js:248"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7f88877a8d231fc", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_enterprise.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_enterprise.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e99bcd98818ea20a", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_sprinkle_links.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_sprinkle_links.js:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ae6a21190009bd6", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_security_image.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_security_image.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-017346abd41dc6a4", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_premium_profile.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_premium_profile.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-720b69fc2e5e8915", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_361_365.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_361_365.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7839211d516c9c06", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_today_blogs_final.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_today_blogs_final.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-729c3a43f519bdb1", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_dallas_roofers.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_dallas_roofers.js:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af1ddbbc4e304fc9", "name": "Stray `console.log` in TS/JS \u2014 scripts/upload_drainage_post.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_drainage_post.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99316ab98872147a", "name": "Stray `console.log` in TS/JS \u2014 scripts/save_key.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/save_key.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20fef58527e114d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_33.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_33.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d737758659e7061", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_7.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_7.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e70fcc9f5f80da5", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_electrical_protocol_blog.js:161", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_electrical_protocol_blog.js:161"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4af86e07d75e72d1", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_hero_fix.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_hero_fix.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4394f56a700b5cba", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_content.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_content.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1587b787eea0d1bd", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-stripe-config.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-stripe-config.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8666ff77d9f72e1e", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_simple.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_simple.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4ec9e0f9eb4943f", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_34.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_34.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7498713fea56151f", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_audit.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_audit.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd57ea40b4daac26", "name": "Stray `console.log` in TS/JS \u2014 scripts/count_total_listings_v2.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_total_listings_v2.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9f08e61a2130478", "name": "Stray `console.log` in TS/JS \u2014 scripts/insert_hollow_frame_blog.js:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_hollow_frame_blog.js:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfabeff74cdaa9fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-webhook.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-webhook.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b8a722346fbd90a", "name": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_dump.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_dump.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d9a708b1b142ce1", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix_mangled_amazon_buttons.js:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_mangled_amazon_buttons.js:67"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-661b90eef5e10972", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit_google_readiness.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_google_readiness.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c72f87138bf7997e", "name": "Stray `console.log` in TS/JS \u2014 scripts/add_no_electricity_blog.js:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_no_electricity_blog.js:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57d626ddc268b10d", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug_us_post.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_us_post.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38d1f9c3a4d97849", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_complete_us.js:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_complete_us.js:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-944054da8f055a95", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_79.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_79.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1a299cf0e1762c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify_gemini.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_gemini.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fd2691bbed45247", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_111_115.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_111_115.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b73f3b461d7babf9", "name": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville_details.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville_details.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d82823f5d37ba4ef", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch_all_blogs.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_all_blogs.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1d08b6753c05173", "name": "Stray `console.log` in TS/JS \u2014 scripts/final_4_cities.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_4_cities.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66ab150e4d3c59fa", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_251_255.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_251_255.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcce6717f391f047", "name": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_126_130.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_126_130.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3f9b2545cec702f", "name": "Stray `console.log` in TS/JS \u2014 scripts/stt-frontend/app.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stt-frontend/app.js:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00eb6eee87cfc326", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_plumbers.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_plumbers.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9213a502c79ed702", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_plumbers.js:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_plumbers.js:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2228ec338b24bb7", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_duplicates.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_duplicates.ts:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef2f4068ce0f056f", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_remaining_locksmiths.js:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_remaining_locksmiths.js:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-531523c8f9e0c064", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_gas_engineers.ts:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_gas_engineers.ts:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2cd0fdb08601b3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_glaziers.ts:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_glaziers.ts:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9781e0b8d21c4218", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_glaziers.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_glaziers.js:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cae020b7558cde2d", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/generate_plumbers.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/generate_plumbers.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0e59545be5b001b", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_locksmiths.js:118", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_locksmiths.js:118"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c66eacc15ed37a80", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_gas_engineers.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_gas_engineers.js:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f79618e51c097913", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_drain_specialists.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_drain_specialists.js:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a75128dc8723fc55", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_missing_phones.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_missing_phones.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f331cc85e024bd", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_locksmiths.ts:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_locksmiths.ts:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-472c3d1af513f8b7", "name": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_listings.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_listings.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42d6a70784bbad9e", "name": "Stray `console.log` in TS/JS \u2014 scripts/stt-backend/server.js:208", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stt-backend/server.js:208"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98b7ba02f8d4b594", "name": "Stray `console.log` in TS/JS \u2014 _unused_quarantine/azureVoice.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 _unused_quarantine/azureVoice.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-398138deeafe2a86", "name": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/us_gap_filler.js:196", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/us_gap_filler.js:196"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17236d41f7d8eaef", "name": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_all_us_cities.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_all_us_cities.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b6f31d4ace0a2b0", "name": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:130"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cb5c23def48673f", "name": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch-google-places.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch-google-places.ts:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c109fca8003c3485", "name": "Stray `console.log` in TS/JS \u2014 src/contexts/AuthContext.tsx:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/contexts/AuthContext.tsx:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61f230644faca42f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/FAQSection.tsx:37", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/FAQSection.tsx:37"}, "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-b6b2126a5a828133", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/MessagesInbox.tsx:101", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MessagesInbox.tsx:101"}, "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-3395c42f54da761d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/PremiumModelerDialog.tsx:58", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/PremiumModelerDialog.tsx:58"}, "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-b19511ba537ec83e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/HierarchicalLocationSelector.tsx:143", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/HierarchicalLocationSelector.tsx:143"}, "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-f37781fa70bae7a1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/SiteSidePanel.tsx:217", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SiteSidePanel.tsx:217"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43a88e0fddcd4bc9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/VoiceReporter.tsx:490", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/VoiceReporter.tsx:490"}, "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-1b1ff9f43e6e6b71", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/WantedPosterCard.tsx:127", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WantedPosterCard.tsx:127"}, "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-cbb58d2fe8fb9d5d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/USLocationSelector.tsx:139", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/USLocationSelector.tsx:139"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-364d02567ccfef96", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/USCityCombobox.tsx:105", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/USCityCombobox.tsx:105"}, "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-f34b4b9e9431bc06", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/GeneralFAQSection.tsx:181", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/GeneralFAQSection.tsx:181"}, "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-daee6d3460394239", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/USPremiumModelerDialog.tsx:55", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/USPremiumModelerDialog.tsx:55"}, "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-c707de3c5ba50c88", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/EmergencyChatInterface.tsx:628", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/EmergencyChatInterface.tsx:628"}, "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-5fc38819cb42cd3a", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/AdminLayout.tsx:140", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/AdminLayout.tsx:140"}, "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-6ba0ef1760517b36", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/VerificationModal.tsx:199", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/VerificationModal.tsx:199"}, "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-3adac412dcb66a07", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/AlertCard.tsx:58", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/AlertCard.tsx:58"}, "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-5ea166ea8f7776ff", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/LiveLocalAlerts.tsx:218", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/LiveLocalAlerts.tsx:218"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30da99ae04fe6ac8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile-editor/ServiceAreaTab.tsx:142", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile-editor/ServiceAreaTab.tsx:142"}, "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-86934539f084958d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/trust/TrustBadgeStack.tsx:42", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/trust/TrustBadgeStack.tsx:42"}, "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-1e0d1c585882aff7", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/unused/earth-hero/HeroSection.tsx:197", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/unused/earth-hero/HeroSection.tsx:197"}, "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-b209c77e83b119fd", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:70", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:70"}, "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-8f0676a2cec82774", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/BlogPostPage.tsx:1177", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/BlogPostPage.tsx:1177"}, "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-d7522f24d2a148db", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/BusinessProfilePage.tsx:376", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/BusinessProfilePage.tsx:376"}, "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-3fb41d9eaf3a86f8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Subscriptions.tsx:254", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Subscriptions.tsx:254"}, "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-79f1b8f3c1885268", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Photos.tsx:169", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Photos.tsx:169"}, "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-bba49d301b377f26", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Quotes.tsx:238", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Quotes.tsx:238"}, "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-809fae3b8a36acb2", "name": "Stray `console.log` in TS/JS \u2014 src/lib/usage-logger.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/usage-logger.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbb56f478d097c8c", "name": "Stray `console.log` in TS/JS \u2014 src/lib/devLog.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/devLog.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1579259b19ef1f72", "name": "Stray `console.log` in TS/JS \u2014 tmp/extract_intended_dates.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tmp/extract_intended_dates.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2483d00a1fcd9478", "name": "Stray `console.log` in TS/JS \u2014 tmp/fix_blog_dates.js:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tmp/fix_blog_dates.js:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31b6c5e4b91cccce", "name": "Stray `console.log` in TS/JS \u2014 tmp/audit_posts.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tmp/audit_posts.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fd6fbe4fa6534f8", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/process-voice/index.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/process-voice/index.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-758611fd1f0ffadd", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/notify-quote/index.ts:143", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/notify-quote/index.ts:143"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69bf654ebdc58f88", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/mailmeteor-webhook/index.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/mailmeteor-webhook/index.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53f54701c32eaf30", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/fetch-jit-listings/index.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fetch-jit-listings/index.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf64a79b4e22714a", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/stripe-webhook/index.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/stripe-webhook/index.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6324dadb8954790c", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-orchestrator/index.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-orchestrator/index.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6812de14cc8cf06", "name": "Stray `console.log` in TS/JS \u2014 public/firebase-messaging-sw.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public/firebase-messaging-sw.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1a0fd344e7a9c26", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:9"}, "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-c5e25d267ef24c6a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:9"}, "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-a14fc2a63d0a8349", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/compone", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/components/ui/chart.tsx:83"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ee18eaf4aa8763c", "name": "Stray `console.log` in TS/JS \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0ec~~kbfm4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0ec~~kbfm4i2s.js:1"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0a68245364cb8a2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/s", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0x4w~922dktpg.js:31"}, "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-de2a961f37169cd4", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/s", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/15aoe-he903yt.js:1"}, "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-e2db39415f7496c2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/s", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0g24~7banqjbw.js:1"}, "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-ca8089c8b8331d7f", "name": "Insecure pattern 'dangerous_innerhtml' in temp_restore_utf8.tsx:3031", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in temp_restore_utf8.tsx:3031"}, "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-12d1749b4e72eaae", "name": "Insecure pattern 'local_storage_auth_token' in index.html:178", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in index.html:178"}, "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-d18ceb953ba25bc6", "name": "Possible secret in scripts/verify_elevenlabs_alt.js", "shortDescription": {"text": "Possible secret in scripts/verify_elevenlabs_alt.js"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-8858ccf60567bd1c", "name": "Insecure pattern 'node_child_process' in scripts/master_ingester.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/master_ingester.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6d4b686712f06b4d", "name": "Insecure pattern 'weak_hash' in scripts/sync_listings.ts:41", "shortDescription": {"text": "Insecure pattern 'weak_hash' in scripts/sync_listings.ts:41"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d659c556c684c5f7", "name": "Insecure pattern 'node_child_process' in scripts/set-secrets.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/set-secrets.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de32c643854ce15d", "name": "Insecure pattern 'exec_used' in scripts/set-service-role-secret.js:35", "shortDescription": {"text": "Insecure pattern 'exec_used' in scripts/set-service-role-secret.js:35"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8f815ec9833bf89", "name": "Insecure pattern 'node_child_process' in scripts/set-service-role-secret.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/set-service-role-secret.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a16c9d9ec3ce5fba", "name": "Insecure pattern 'exec_used' in scripts/set-sendgrid-secrets.js:35", "shortDescription": {"text": "Insecure pattern 'exec_used' in scripts/set-sendgrid-secrets.js:35"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fbed3348d575a5cd", "name": "Insecure pattern 'node_child_process' in scripts/set-sendgrid-secrets.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/set-sendgrid-secrets.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f292ed7fd935ac3", "name": "Insecure pattern 'node_child_process' in scripts/setup-password-security.cjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/setup-password-security.cjs:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b310e72b3dc1caac", "name": "Insecure pattern 'node_child_process' in scripts/continuous_auditor.cjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/continuous_auditor.cjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-111b4523f4e50ebd", "name": "Insecure pattern 'node_child_process' in scripts/apply-stripe-config.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/apply-stripe-config.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-afa4f7e9d47354bf", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/FAQSection.tsx:37", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/FAQSection.tsx:37"}, "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-18ec99abcb93a700", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/PremiumModelerDialog.tsx:58", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/PremiumModelerDialog.tsx:58"}, "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-420fbc79205a9960", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/components/MobilePreviewWrapper.tsx:188", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/MobilePreviewWrapper.tsx:188"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc01fcc4508d11cc", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/GeneralFAQSection.tsx:181", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/GeneralFAQSection.tsx:181"}, "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-bd6b384c29a105d5", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/USPremiumModelerDialog.tsx:55", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/USPremiumModelerDialog.tsx:55"}, "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-93d0283845aa2c2d", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:70", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:70"}, "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-3ee623d45461b6a5", "name": "Insecure pattern 'local_storage_auth_token' in src/pages/PricingPage.tsx:111", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/pages/PricingPage.tsx:111"}, "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-17673f754e232a2f", "name": "Insecure pattern 'dangerous_innerhtml' in src/pages/BlogPostPage.tsx:1177", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/pages/BlogPostPage.tsx:1177"}, "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-673b63dc0d8ad7fe", "name": "Insecure pattern 'local_storage_auth_token' in src/lib/firebase.ts:127", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/lib/firebase.ts:127"}, "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-fa10deb8a103bc68", "name": "Insecure pattern 'domparser_html_parse' in src/lib/enrichment/checkWebsite.ts:47", "shortDescription": {"text": "Insecure pattern 'domparser_html_parse' in src/lib/enrichment/checkWebsite.ts:47"}, "fullDescription": {"text": "Found a known-risky pattern (domparser_html_parse). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-845256232081d543", "name": "Insecure pattern 'cors_wildcard' in src/lib/alerts/server.ts:274", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/lib/alerts/server.ts:274"}, "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-c66586dd800e9186", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:5"}, "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-7327708b7708d8c5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/send-email/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-email/index.ts:6"}, "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-2394aa36c0cad284", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/process-voice/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/process-voice/index.ts:4"}, "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-b2d77afc9e35dad3", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-quote/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-quote/index.ts:5"}, "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-94ccc4da85ca218b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-session/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-session/index.ts:6"}, "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-18011ac255e7aa3f", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/fetch-jit-listings/index.ts:7", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/fetch-jit-listings/index.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c77973006c1ae4e9", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/newsletter-subscribe/index.ts:7", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/newsletter-subscribe/index.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-021e165efb5a6106", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/stripe-webhook/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/stripe-webhook/index.ts:6"}, "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-a0353163d5c61ebf", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-orchestrator/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-orchestrator/index.ts:5"}, "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-25e5867eb6734d20", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f82b6fbe85888581", "name": "Very large file: temp_restore.tsx (3310 lines)", "shortDescription": {"text": "Very large file: temp_restore.tsx (3310 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47ee19d5b9876b0c", "name": "Very large file: temp_restore_utf8.tsx (3310 lines)", "shortDescription": {"text": "Very large file: temp_restore_utf8.tsx (3310 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77ac94c7f7f73cc8", "name": "Very large file: emergency-brain.js (1207 lines)", "shortDescription": {"text": "Very large file: emergency-brain.js (1207 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28a5a487da11dace", "name": "Very large file: src/components/EmergencyChatInterface.tsx (1407 lines)", "shortDescription": {"text": "Very large file: src/components/EmergencyChatInterface.tsx (1407 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a28938c88a7b471", "name": "Very large file: src/components/landing3/Hero3D.tsx (1870 lines)", "shortDescription": {"text": "Very large file: src/components/landing3/Hero3D.tsx (1870 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccf5a9178d5ff296", "name": "Very large file: src/pages/BlogPostPage.tsx (1416 lines)", "shortDescription": {"text": "Very large file: src/pages/BlogPostPage.tsx (1416 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e39c5ed6fe3a1fa8", "name": "Very large file: src/pages/TradeCityPage.tsx (1309 lines)", "shortDescription": {"text": "Very large file: src/pages/TradeCityPage.tsx (1309 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2d09c70e76738b7", "name": "Very large file: src/pages/BusinessProfilePage.tsx (880 lines)", "shortDescription": {"text": "Very large file: src/pages/BusinessProfilePage.tsx (880 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85477a692dfddecb", "name": "Very large file: src/lib/emergency-brain.ts (1095 lines)", "shortDescription": {"text": "Very large file: src/lib/emergency-brain.ts (1095 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "41 test file(s) for 1753 source file(s) (ratio 0.02). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 5791 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 274 placeholder/mock markers across 159 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57c3f296e1f8cb9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_live_refrigerant_gb.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_live_refrigerant_gb.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4ce2e4efd0c83775", "name": "Commented-code block (7 lines) in scripts/fix_index_visuals.py:25", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fix_index_visuals.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-926206b0be87dfd9", "name": "Commented-code block (25 lines) in scripts/recover_mojibake.py:7", "shortDescription": {"text": "Commented-code block (25 lines) in scripts/recover_mojibake.py:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac317f09cb474bc8", "name": "Commented-code block (8 lines) in scripts/insert_phase5_tier3.py:49", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/insert_phase5_tier3.py:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6efc28cb45bb805", "name": "Commented-code block (9 lines) in scripts/insert_gas_drain_nw.py:31", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/insert_gas_drain_nw.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-a0d2022bcc7aa127", "name": "Commented-code block (5 lines) in scripts/finalize-dev-account.js:75", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/finalize-dev-account.js:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-313af8c3c4892727", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_blogs.py:229", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_blogs.py:229"}, "fullDescription": {"text": "`requests.post(...)` 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-fe41ad9a2ba34fd9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apps-script-email-sender.js:193", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apps-script-email-sender.js:193"}, "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-da1a304e18e4142b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions.py:36"}, "fullDescription": {"text": "`requests.get(...)` 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-fc8f2bb54fc11e55", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_foursquare_reviews.js:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_foursquare_reviews.js:57"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ca8cdf6bbae0af4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_security_hero_image.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_security_hero_image.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c98ac813b59548aa", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_maps.py:14", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_maps.py:14"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-869346e6700d5232", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business.py:62", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business.py:62"}, "fullDescription": {"text": "`requests.post(...)` 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-83a99329971189e9", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_social_check.py:26", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_social_check.py:26"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cbc7a6475b0fdf9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_amazon_btn.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_amazon_btn.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7d859d309e3ce508", "name": "Commented-code block (10 lines) in scripts/test_rpc.js:14", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/test_rpc.js: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-8dc589ea26230d99", "name": "Commented-code block (5 lines) in scripts/fill_usa_gaps.py:310", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fill_usa_gaps.py:310"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-608d0f12af70a5e8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_chinese_chars.js:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_chinese_chars.js:24"}, "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-82f31b10c07449a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_costway_section.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_costway_section.js:11"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a026859b78af4990", "name": "Commented-code block (6 lines) in scripts/audit_uk_data_integrity.py:36", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/audit_uk_data_integrity.py: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-9516fbfd859185d0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v3.py:60", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v3.py:60"}, "fullDescription": {"text": "`requests.post(...)` 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-9bc5abb73374d0d0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_images.py:28", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_images.py:28"}, "fullDescription": {"text": "`requests.get(...)` 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-8eb29476cd17be2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_neobrutalism_issues.js:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_neobrutalism_issues.js:33"}, "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-d7dde7c4a4430ddb", "name": "Legacy-named symbol `trade_onchange_old` in scripts/implement_routing.py:36", "shortDescription": {"text": "Legacy-named symbol `trade_onchange_old` in scripts/implement_routing.py:36"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46c3a5656a455fb8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_us_resilience.js:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_us_resilience.js:12"}, "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-30fb9e194f6cc949", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_costway_orphan.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_costway_orphan.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c6d633d6389ef871", "name": "Commented-code block (5 lines) in scripts/audit_uk_duplicates.py:91", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit_uk_duplicates.py:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-207ce17013316cbb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_buttons.js:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_buttons.js:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-037bb200fc01950c", "name": "Commented-code block (5 lines) in scripts/audit_uk_locations.py:79", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit_uk_locations.py:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea8d10f1777fc518", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/force_reload_schema.py:38", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/force_reload_schema.py:38"}, "fullDescription": {"text": "`requests.post(...)` 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-09f18b72c67b7930", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_search.py:14", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_search.py:14"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b93c8b14099511b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_refrigerant_gb.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_refrigerant_gb.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6875ee1b71c944b9", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_uk_report.py:59", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_uk_report.py:59"}, "fullDescription": {"text": "`requests.get(...)` 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-76f5a4adda8bd778", "name": "Commented-code block (5 lines) in scripts/repair_chat_interface.py:18", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/repair_chat_interface.py:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55a181121a293f81", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_elements.js:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_elements.js:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-43e6d2b5ba281dee", "name": "Commented-code block (15 lines) in scripts/repair_index.py:35", "shortDescription": {"text": "Commented-code block (15 lines) in scripts/repair_index.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7984cb3b9c65701", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_refrigerant_gb_hero.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_refrigerant_gb_hero.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8003b56003649fdc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_mould_blogs.js:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_mould_blogs.js:12"}, "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-ae99b0f3ff975f6b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_us_report.py:61", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_us_report.py:61"}, "fullDescription": {"text": "`requests.get(...)` 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-aef030e41bbb242e", "name": "Legacy-named symbol `save_to_backup` in scripts/enrich_us_socials.py:188", "shortDescription": {"text": "Legacy-named symbol `save_to_backup` in scripts/enrich_us_socials.py:188"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee1b879823fb083f", "name": "Commented-code block (6 lines) in scripts/insert_accrington_full.py:170", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/insert_accrington_full.py:170"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-567ae3487b371c63", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit_listings.cjs:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit_listings.cjs:62"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4bb660e98d691c48", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown.mjs:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown.mjs:39"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37150f43cb98b8c2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/diagnose_stats.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/diagnose_stats.py:36"}, "fullDescription": {"text": "`requests.get(...)` 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-eeb0a091774e768a", "name": "Commented-code block (8 lines) in scripts/recover_from_lib_file.py:62", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/recover_from_lib_file.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d22f845b89ea10f5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_hero.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_hero.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1314668ba847285e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_gb_listings.py:35", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_gb_listings.py:35"}, "fullDescription": {"text": "`requests.get(...)` 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-1833ceede9c6d3cd", "name": "Legacy-named symbol `scraped_data_backup` in scripts/convert_backup_to_json.py:4", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/convert_backup_to_json.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec608ea08af8bf25", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_dallas.ts:138", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_dallas.ts:138"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05dd15a4cae8c632", "name": "Commented-code block (5 lines) in scripts/sync_listings.ts:42", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/sync_listings.ts:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe65f6251fba5f1b", "name": "Legacy-named symbol `locations_old` in scripts/list_tables.ts:32", "shortDescription": {"text": "Legacy-named symbol `locations_old` in scripts/list_tables.ts:32"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2cb8b4e9330107e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_deduplication.js:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_deduplication.js:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-476766805eefe868", "name": "Commented-code block (16 lines) in scripts/insert_blackburn_prelim.py:37", "shortDescription": {"text": "Commented-code block (16 lines) in scripts/insert_blackburn_prelim.py: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-9edd87693b1af335", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_costway_image.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_costway_image.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08509acfbf9c7ed6", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_listings.py:15", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_listings.py:15"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93c5eb054493810d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/enrich_listings.py:252", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/enrich_listings.py:252"}, "fullDescription": {"text": "`requests.patch(...)` 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-e62a4880f546831a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_us_hero.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_us_hero.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb5e7a6f64f5ba25", "name": "Commented-code block (5 lines) in scripts/remove_uk_duplicates.py:75", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/remove_uk_duplicates.py:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-009a6498c994b365", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_duplicate_image.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_duplicate_image.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cba28864fd0528fe", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/mark_all_verified.py:27", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/mark_all_verified.py:27"}, "fullDescription": {"text": "`requests.get(...)` 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-4c9c3584bb441893", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_ghost_costway.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_ghost_costway.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-49d0c2275a14159e", "name": "Commented-code block (8 lines) in scripts/audit_uk_listings_status.py:20", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/audit_uk_listings_status.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-2aeb345ce9e4e2f2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_sewer_backup_gb_hero.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_sewer_backup_gb_hero.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac0c3e03fde1b163", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_orphaned_btn.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_orphaned_btn.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72ff3c9e8ce45b57", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_refrigerant_gb_duplicate.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_refrigerant_gb_duplicate.js:11"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d798984e9fdbf421", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/update_blog_image.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/update_blog_image.py:22"}, "fullDescription": {"text": "`requests.patch(...)` 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-156a467664224260", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_schema_cache.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_schema_cache.py:36"}, "fullDescription": {"text": "`requests.get(...)` 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-47746dc57174cf3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/show_orphaned_context.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/show_orphaned_context.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-93ee75da45e350c0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify_live_data.js:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify_live_data.js:30"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c7276366f980fa20", "name": "Legacy-named symbol `scraped_data_backup` in scripts/sync_scraped_data.py:84", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/sync_scraped_data.py:84"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0d2786553c9eef4", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_scraped_data.py:64", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_scraped_data.py:64"}, "fullDescription": {"text": "`requests.patch(...)` 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-d34023c74841fffe", "name": "Commented-code block (6 lines) in scripts/import_phase24_batch1.py:40", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/import_phase24_batch1.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd7b1dd2d32a9695", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v2.py:57", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v2.py:57"}, "fullDescription": {"text": "`requests.post(...)` 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-2b862045ec669f4a", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions_v2.py:38", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions_v2.py:38"}, "fullDescription": {"text": "`requests.get(...)` 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-c7ffe9dee3507d07", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_uk.py:275", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_uk.py:275"}, "fullDescription": {"text": "`requests.get(...)` 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-05aeaaa3acb2a69e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/purge_no_phone.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/purge_no_phone.py:22"}, "fullDescription": {"text": "`requests.get(...)` 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-971cfa5a2ffa2d32", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_button_block.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_button_block.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4731d4e7716cc8ee", "name": "Legacy-named symbol `main_sewer_line_clog_us_backup` in scripts/insert_day39_blog.js:37", "shortDescription": {"text": "Legacy-named symbol `main_sewer_line_clog_us_backup` in scripts/insert_day39_blog.js:37"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1f417de7bb86de2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/find_just_created.py:34", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find_just_created.py:34"}, "fullDescription": {"text": "`requests.get(...)` 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-8cc55b739e4f9228", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_extra_closing_divs.js:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_extra_closing_divs.js:16"}, "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-047bd9e314361ea3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown_more.mjs:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown_more.mjs:39"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a83dc0c5cb34f223", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/update_us_blog_image.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/update_us_blog_image.py:22"}, "fullDescription": {"text": "`requests.patch(...)` 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-bad477182564936f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_containers.js:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_containers.js:50"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d44c547929f4fa3", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_photos_source.py:31", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_photos_source.py:31"}, "fullDescription": {"text": "`requests.get(...)` 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-53f17a95b8a1efbe", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_us.py:200", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_us.py:200"}, "fullDescription": {"text": "`requests.get(...)` 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-668fc6a02ca17e33", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/export-batch2.mjs:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/export-batch2.mjs:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9999729382e3f66f", "name": "Legacy-named symbol `master_reset_v2` in scripts/verify_insert_permission.js:78", "shortDescription": {"text": "Legacy-named symbol `master_reset_v2` in scripts/verify_insert_permission.js: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-d8cf0c0cdf1476e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_remaining_divs.js:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_remaining_divs.js:16"}, "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-cb6bea6cc40a7562", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_google.py:14", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_google.py:14"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-699f6400906af6f2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_real_reviews.js:61", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_real_reviews.js:61"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62a1fba2d734bbc1", "name": "Legacy-named symbol `nOld` in scripts/update_old_logos.py:26", "shortDescription": {"text": "Legacy-named symbol `nOld` in scripts/update_old_logos.py:26"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-747f69773977d7a1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_unverified.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_unverified.py:19"}, "fullDescription": {"text": "`requests.get(...)` 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-31d1e8e390d053bd", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/investigate_uk.py:20", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/investigate_uk.py:20"}, "fullDescription": {"text": "`requests.get(...)` 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-bb047f83f5f0a5d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_product_box_image.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_product_box_image.js:11"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-501f111f1dcb15a6", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_trades.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_trades.py:36"}, "fullDescription": {"text": "`requests.get(...)` 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-b1fe7cb89a6f2a80", "name": "Legacy-named symbol `create_initial_business_v2` in scripts/check_rpc.js:25", "shortDescription": {"text": "Legacy-named symbol `create_initial_business_v2` in scripts/check_rpc.js:25"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d07ac21ec74eb0f", "name": "Legacy-named symbol `debug_scraper_v2` in scripts/debug_scraper_v2.py:7", "shortDescription": {"text": "Legacy-named symbol `debug_scraper_v2` in scripts/debug_scraper_v2.py:7"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-100f60f09a3143c6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_first_orphaned_section.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_first_orphaned_section.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c95ae6ad027c262c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_gaps.py:37", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_gaps.py:37"}, "fullDescription": {"text": "`requests.get(...)` 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-dd4d9813714f8230", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_refrigerant_gb_product_box.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_refrigerant_gb_product_box.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb48b147c50ceb3d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_todays_blogs.py:374", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_todays_blogs.py:374"}, "fullDescription": {"text": "`requests.get(...)` 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-1fe05f6b91ca3213", "name": "Commented-code block (8 lines) in scripts/fix_index_visuals_strict.py:27", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fix_index_visuals_strict.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28bd8bc9349ace3d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_large_paragraphs.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_large_paragraphs.js:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-caba860c1013df7a", "name": "Commented-code block (5 lines) in scripts/update_chat_interface.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/update_chat_interface.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a964ee9a96686669", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_supabase_data.py:46", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_supabase_data.py:46"}, "fullDescription": {"text": "`requests.get(...)` 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-7045f65cb5b3a15b", "name": "Commented-code block (8 lines) in scripts/ingest_full_us_cities.ts:120", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/ingest_full_us_cities.ts:120"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f869d8149932aa8a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_adaptive.ts:105", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_adaptive.ts:105"}, "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-56cf0f79d156e6f2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/add_security_image.js:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/add_security_image.js:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b01b46bbeb43bbb", "name": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_yell.py:14", "shortDescription": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_yell.py:14"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-311c99e0f3e9ee9f", "name": "Commented-code block (7 lines) in scripts/make_search_small.py:6", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/make_search_small.py: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-10802f22fe63b1c7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_mangled_amazon_buttons.js:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_mangled_amazon_buttons.js:24"}, "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-42db482187789c85", "name": "Commented-code block (5 lines) in scripts/stt-backend/server.js:210", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/stt-backend/server.js:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-911bcfa127617678", "name": "`fetch()` without try/.catch or AbortSignal \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:117", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:117"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1bdf7364275a075", "name": "Commented-code block (9 lines) in excluded_forbidden_scripts/fetch-google-places.ts:69", "shortDescription": {"text": "Commented-code block (9 lines) in excluded_forbidden_scripts/fetch-google-places.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-368d2bdd8dfcea1f", "name": "Commented-code block (5 lines) in src/components/ShareMenu.tsx:65", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/ShareMenu.tsx:65"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-58556941a65be2ea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/LeafletMap.tsx:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/LeafletMap.tsx:56"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df2fe14559f772ea", "name": "Commented-code block (8 lines) in src/components/GoldWave.tsx:28", "shortDescription": {"text": "Commented-code block (8 lines) in src/components/GoldWave.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f142ba989fbcf03", "name": "Commented-code block (6 lines) in src/components/profile-editor/GalleryTab.tsx:37", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/profile-editor/GalleryTab.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-92d286b97d5e08b2", "name": "Legacy-named symbol `card__copy` in src/components/animations/TradesmenScroll.tsx:184", "shortDescription": {"text": "Legacy-named symbol `card__copy` in src/components/animations/TradesmenScroll.tsx:184"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d841b8137f6d09d", "name": "Legacy-named symbol `card__copy` in src/components/animations/RoadsideScroll.tsx:102", "shortDescription": {"text": "Legacy-named symbol `card__copy` in src/components/animations/RoadsideScroll.tsx:102"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62441ff09bff7233", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/business/BusinessEnquiryForm.tsx:135", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/business/BusinessEnquiryForm.tsx:135"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9bc5656c5f15a917", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/unused/earth-hero/EarthHeroBackground.tsx:98", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/unused/earth-hero/EarthHeroBackground.tsx:98"}, "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-8fa386af632725c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPage.tsx:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPage.tsx:85"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07382983b17192b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPostPage.tsx:694", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPostPage.tsx:694"}, "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-7f6ea80caf6231be", "name": "Legacy-named symbol `create_initial_business_v2` in src/pages/NewProfileEditor.tsx:170", "shortDescription": {"text": "Legacy-named symbol `create_initial_business_v2` in src/pages/NewProfileEditor.tsx:170"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc02fa893b47e057", "name": "Commented-code block (5 lines) in src/lib/location-utils.ts:159", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/location-utils.ts:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc1bb1fda2eae4c2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/location-utils.ts:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/location-utils.ts:65"}, "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-64d33a3da4879ba6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/businessService.ts:189", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/businessService.ts:189"}, "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-f1c761c0b49d22fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/enrichment/checkWebsite.ts:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/enrichment/checkWebsite.ts:64"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab7adbd7f0e09738", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:26"}, "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-c36a455917d029ac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/process-voice/index.ts:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/process-voice/index.ts:65"}, "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-47f835234380a40e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-quote/index.ts:121", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-quote/index.ts:121"}, "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-f3d7fc7622411ef4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/mailmeteor-webhook/index.ts:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/mailmeteor-webhook/index.ts:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fae2f325109d1d36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/companiesHouse.ts:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/companiesHouse.ts:71"}, "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-dff7a847ab3366e5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/newsletter-subscribe/index.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/newsletter-subscribe/index.ts:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5038cf2a1d6b5e80", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/stripe-webhook/index.ts:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/stripe-webhook/index.ts:142"}, "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-fa66fa5906ad4891", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-orchestrator/index.ts:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-orchestrator/index.ts:108"}, "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-1684f688e947794a", "name": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:8", "shortDescription": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b0569b17f3bc1c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:1"}, "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-42f347ca0bd88861", "name": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:8", "shortDescription": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5048781e7b923a2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:1"}, "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-86a658279a9e4425", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/ch", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/turbopack-0iupcgim2nidk.js:1"}, "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-6eee6dfe5b17017b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/ch", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0_-5pest7te1o.js:1"}, "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-99b34ecd98d36141", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/ch", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/turbopack-0~3-9q6lxnn45.js:1"}, "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-613973a2fa6acb5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/ch", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0e6pt_tzi1-ck.js:4"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8353e5e4d6b781fe", "name": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/", "shortDescription": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0g24~7banqjbw.js:1"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb710082c8f2a3d3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/ch", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0ynu83ekjauap.js:1"}, "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-597231399356737a", "name": "43 env vars used in code but missing from .env.example", "shortDescription": {"text": "43 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `DATABASE_URL`, `DEV`, `DRY_RUN`, `FOURSQUARE_API_KEY`, `GOOGLE_PLACES_API_KEY`, `HERE_API_KEY`, `HOST`, `MAX_SCAN` + 35 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-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/mcp_orchestrator.py:search, scripts/mcp_orchestrator.py:search, scripts/mcp_orchestrator.py:search, scripts/mcp_orchestrator.py:search\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-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/enrich_via_social_check.py:save_to_backup, scripts/enrich_us_socials.py:save_to_backup\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-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/fill_gaps_northeast.py:load_cities_for_region, scripts/fill_gaps_south.py:load_cities_for_region, scripts/fill_gaps_other.py:load_cities_for_region, scripts/fill_gaps_midwest.py:load_cities_for_region\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/fill_gaps_northeast.py:search_manta, scripts/fill_gaps_south.py:search_manta, scripts/fill_gaps_other.py:search_manta, scripts/usa_gap_filler_v4.py:search_manta\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-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/fill_gaps_northeast.py:get_listing_count, scripts/fill_gaps_proxy.py:get_listing_count, scripts/fill_gaps_yelp_api.py:get_listing_count, scripts/fill_gaps_fast.py:get_listing_count\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:\nscripts/enrich_listings.py:extract_socials_and_email, scripts/orchestrator_uk.py:extract_socials_and_email, scripts/orchestrator_us.py:extract_socials_and_email\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-2b99153610bc695d", "name": "Frontend route `/login` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/login` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb07a36b9b4572a8", "name": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a6c72ceb1d23a296", "name": "Frontend route `/voice-report` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/voice-report` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb58051c77492a6e", "name": "Frontend route `:city` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `:city` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3afccde482413734", "name": "Frontend route `/home` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/home` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d7225b54365f5208", "name": "Frontend route `/us/home` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/us/home` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b6e2f6a9ae4e96e", "name": "Frontend route `/landing-3` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/landing-3` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df80043a68af5f99", "name": "Frontend route `/landing-page-3` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/landing-page-3` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-205921d930874b8b", "name": "Frontend route `/about` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/about` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-557899e56e08dfd5", "name": "Frontend route `/tradesmen` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/tradesmen` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2d0d2ee8bb85214", "name": "Frontend route `/for-tradesmen` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/for-tradesmen` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0df612c2392446fb", "name": "Frontend route `/for-contractors` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/for-contractors` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e346289ea7a0e440", "name": "Frontend route `/for-tradesmen/website-showroom` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/for-tradesmen/website-showroom` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-34d1f48650909f09", "name": "Frontend route `/for-contractors/website-showroom` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/for-contractors/website-showroom` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42b352ad2d83287f", "name": "Frontend route `/blog/:slug` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/blog/:slug` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-406143d8507bf4c6", "name": "Frontend route `/faq` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/faq` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed6959dea23ede6c", "name": "Frontend route `/terms` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/terms` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-82933cb01873ec19", "name": "Frontend route `/verify-documents` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/verify-documents` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f991b5b8a917f3e1", "name": "Frontend route `/business/:businessId` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/business/:businessId` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4e2b8bc3de17fbd", "name": "Frontend route `/business/claim/:businessId` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/business/claim/:businessId` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d110c8f779c521c", "name": "Frontend route `/payment/success` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/payment/success` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-961fddad59dd48bb", "name": "Frontend route `/payment/cancel` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/payment/cancel` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-deb1d1fe6f378b5c", "name": "Frontend route `businesses` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `businesses` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-43f37de13530692d", "name": "Frontend route `profile-editor` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `profile-editor` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d1c36d99c104c9b", "name": "Frontend route `availability` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `availability` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-53573e65be379329", "name": "Frontend route `photos` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `photos` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3532a3f699b08624", "name": "Frontend route `reviews` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `reviews` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e6e7889f0ade2a1a", "name": "Frontend route `subscriptions` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `subscriptions` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95db69fade06a239", "name": "Frontend route `export` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `export` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ddc1f0e866f6323f", "name": "Frontend route `analytics` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `analytics` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-99f2d4bbb3f5688d", "name": "Frontend route `email-outreach` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `email-outreach` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a49eacb9496edbe5", "name": "Frontend route `evidence` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `evidence` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33b9eea93af311df", "name": "Frontend route `/:state/:city` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:state/:city` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa69eaeda7ac67b3", "name": "Frontend route `/:state/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:state/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00ad096305e8d26e", "name": "Frontend route `/:state/:metro/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:state/:metro/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bf178ff0d007b5e8", "name": "Frontend route `/:state/:metro/:city/:suburb/:tradePath` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:state/:metro/:city/:suburb/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42608229d2b70cf1", "name": "Frontend route `/:tradePath` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ddbd9cd363417c1", "name": "Frontend route `/:tradePath/:city` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/:tradePath/:city` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e5f13c9c46f4c343", "name": "Frontend route `/us/*` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/us/*` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2446ca689f599047", "name": "Frontend route `/usa/*` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/usa/*` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26109f24ca52c7d6", "name": "Frontend route `/gb/*` has no Link/navigate to it \u2014 src/App.tsx", "shortDescription": {"text": "Frontend route `/gb/*` has no Link/navigate to it \u2014 src/App.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7203ab5a56b5b5e1", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (emergency-brain.js:623)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (emergency-brain.js:623)"}, "fullDescription": {"text": "`emergency-brain.js:623` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a9eb42d3f25ccd0d", "name": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs_alt.js:19)", "shortDescription": {"text": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs_alt.js:19)"}, "fullDescription": {"text": "`scripts/verify_elevenlabs_alt.js:19` calls `POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.elevenlabs.io/v1/text-to-speech/<p>/stream`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ad873ed19998f38", "name": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs.js:23)", "shortDescription": {"text": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs.js:23)"}, "fullDescription": {"text": "`scripts/verify_elevenlabs.js:23` calls `POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.elevenlabs.io/v1/text-to-speech/<p>/stream`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-659b11e30374b6b0", "name": "Dangling fetch: GET https://api.elevenlabs.io/v1/voices (scripts/verify_elevenlabs_simple.js:16)", "shortDescription": {"text": "Dangling fetch: GET https://api.elevenlabs.io/v1/voices (scripts/verify_elevenlabs_simple.js:16)"}, "fullDescription": {"text": "`scripts/verify_elevenlabs_simple.js:16` calls `GET https://api.elevenlabs.io/v1/voices` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.elevenlabs.io/v1/voices`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1df9fcf2077e63c", "name": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/components/BusinessContactForm.tsx:98)", "shortDescription": {"text": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/components/BusinessContactForm.tsx:98)"}, "fullDescription": {"text": "`src/components/BusinessContactForm.tsx:98` calls `POST https://formspree.io/f/movgrbrz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/formspree.io/f/movgrbrz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c80206e32bae3e7", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json (src/components/SoloTr", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json (src/components/SoloTradeSelector.tsx:155)"}, "fullDescription": {"text": "`src/components/SoloTradeSelector.tsx:155` calls `GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/reverse`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f951c7cb787ec062", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/c", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/components/LeafletMap.tsx:56)"}, "fullDescription": {"text": "`src/components/LeafletMap.tsx:56` calls `GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ded01eec6205553f", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/c", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/components/InteractiveMap.tsx:78)"}, "fullDescription": {"text": "`src/components/InteractiveMap.tsx:78` calls `GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86f4d625a5c239c4", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/earth/LocalAreaBackd", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/earth/LocalAreaBackdrop.tsx:109)"}, "fullDescription": {"text": "`src/components/earth/LocalAreaBackdrop.tsx:109` calls `GET https://nominatim.openstreetmap.org/search?${params.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d35e02119fe28161", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json (src/compon", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json (src/components/animations/RoadsideScroll.tsx:34)"}, "fullDescription": {"text": "`src/components/animations/RoadsideScroll.tsx:34` calls `GET https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/reverse`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1426e6970b9479e", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/unused/earth-hero/Ea", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/unused/earth-hero/EarthHeroBackground.tsx:98)"}, "fullDescription": {"text": "`src/components/unused/earth-hero/EarthHeroBackground.tsx:98` calls `GET https://nominatim.openstreetmap.org/search?${params.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0dc83095b1b3275", "name": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/pages/ContactPage.tsx:159)", "shortDescription": {"text": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/pages/ContactPage.tsx:159)"}, "fullDescription": {"text": "`src/pages/ContactPage.tsx:159` calls `POST https://formspree.io/f/movgrbrz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/formspree.io/f/movgrbrz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6923b17cacd2e374", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query + countrySuffix)", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query + countrySuffix)}&limit=1 (src/lib/location-utils.ts:65)"}, "fullDescription": {"text": "`src/lib/location-utils.ts:65` calls `GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query + countrySuffix)}&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d3d41e45437a19b5", "name": "Dangling fetch: GET /data/fallback-enrichment.json (src/lib/businessService.ts:46)", "shortDescription": {"text": "Dangling fetch: GET /data/fallback-enrichment.json (src/lib/businessService.ts:46)"}, "fullDescription": {"text": "`src/lib/businessService.ts:46` calls `GET /data/fallback-enrichment.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/fallback-enrichment.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a989beaeb865881b", "name": "Dangling fetch: GET /sounds/click.ogg (src/lib/audioService.ts:40)", "shortDescription": {"text": "Dangling fetch: GET /sounds/click.ogg (src/lib/audioService.ts:40)"}, "fullDescription": {"text": "`src/lib/audioService.ts:40` calls `GET /sounds/click.ogg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/sounds/click.ogg`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-deaaa75d60d77c2d", "name": "Dangling fetch: POST https://api.sendgrid.com/v3/mail/send (supabase/functions/send-email/index.ts:26)", "shortDescription": {"text": "Dangling fetch: POST https://api.sendgrid.com/v3/mail/send (supabase/functions/send-email/index.ts:26)"}, "fullDescription": {"text": "`supabase/functions/send-email/index.ts:26` calls `POST https://api.sendgrid.com/v3/mail/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.sendgrid.com/v3/mail/send`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00238c0523152a1d", "name": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/process-voice/index.ts:65)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/process-voice/index.ts:65)"}, "fullDescription": {"text": "`supabase/functions/process-voice/index.ts:65` calls `POST https://api.openai.com/v1/audio/transcriptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/audio/transcriptions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-09aa950fc3edd93f", "name": "Dangling fetch: POST https://api.openai.com/v1/chat/completions (supabase/functions/process-voice/index.ts:104)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/chat/completions (supabase/functions/process-voice/index.ts:104)"}, "fullDescription": {"text": "`supabase/functions/process-voice/index.ts:104` calls `POST https://api.openai.com/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-24c9d03811f09a4b", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:121)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:121)"}, "fullDescription": {"text": "`supabase/functions/notify-quote/index.ts:121` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-261d4445054d879c", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:182)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:182)"}, "fullDescription": {"text": "`supabase/functions/notify-quote/index.ts:182` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c3348b95ce97896b", "name": "Dangling fetch: POST https://emailoctopus.com/api/1.6/lists/${EMAIL_OCTOPUS_LIST_ID}/contacts (supabase/functions/newsle", "shortDescription": {"text": "Dangling fetch: POST https://emailoctopus.com/api/1.6/lists/${EMAIL_OCTOPUS_LIST_ID}/contacts (supabase/functions/newsletter-subscribe/index.ts:34)"}, "fullDescription": {"text": "`supabase/functions/newsletter-subscribe/index.ts:34` calls `POST https://emailoctopus.com/api/1.6/lists/${EMAIL_OCTOPUS_LIST_ID}/contacts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/emailoctopus.com/api/1.6/lists/<p>/contacts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72039dcd881f55f2", "name": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/email-orchestrator/index.ts:108)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/email-orchestrator/index.ts:108)"}, "fullDescription": {"text": "`supabase/functions/email-orchestrator/index.ts:108` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d16b1bb2723f51e", "name": "Unused endpoint: POST /signup", "shortDescription": {"text": "Unused endpoint: POST /signup"}, "fullDescription": {"text": "`server.cjs` declares `POST /signup` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4fe9bb486644f008", "name": "Unused endpoint: POST /change-password", "shortDescription": {"text": "Unused endpoint: POST /change-password"}, "fullDescription": {"text": "`server.cjs` declares `POST /change-password` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`scripts/stt-backend/server.js` declares `GET /api/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-906049c6961f019e", "name": "Unused endpoint: POST /api/upload-audio", "shortDescription": {"text": "Unused endpoint: POST /api/upload-audio"}, "fullDescription": {"text": "`scripts/stt-backend/server.js` declares `POST /api/upload-audio` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df1312c4abc441d4", "name": "Unused endpoint: USE /api/live-alerts", "shortDescription": {"text": "Unused endpoint: USE /api/live-alerts"}, "fullDescription": {"text": "`vite.config.ts` declares `USE /api/live-alerts` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24550"}, "properties": {"repository": "bennettbwalter-dot/emergency-tradesmen-v2", "repoUrl": "https://github.com/bennettbwalter-dot/emergency-tradesmen-v2", "branch": "main"}, "results": [{"ruleId": "scanner-b077c9a9daff4790", "level": "note", "message": {"text": "Possibly dead Python function: process_business_via_maps"}, "properties": {"repobilityId": "4bd87daa676d789d", "scanner": "scanner-primary", "fingerprint": "b077c9a9daff4790", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_via_maps.py:130"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c65bba66dd68bdb", "level": "note", "message": {"text": "Possibly dead Python function: enumerate_social_urls"}, "properties": {"repobilityId": "78ec1cd074f19973", "scanner": "scanner-primary", "fingerprint": "2c65bba66dd68bdb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_via_social_check.py:106"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0d6f911fa8a851e", "level": "note", "message": {"text": "Possibly dead Python function: search_dexknows"}, "properties": {"repobilityId": "69000981e35582cc", "scanner": "scanner-primary", "fingerprint": "d0d6f911fa8a851e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_usa_gaps.py:162"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-92da9bd24ea8e835", "level": "note", "message": {"text": "Possibly dead Python function: search_superpages"}, "properties": {"repobilityId": "e25ab33bfff7df72", "scanner": "scanner-primary", "fingerprint": "92da9bd24ea8e835", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_usa_gaps.py:231"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-83b2f90e31b6bab4", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "83b2f90e31b6bab4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_usa_gaps.py:270"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-454667a1c704c23c", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "454667a1c704c23c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_northeast.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c570e84edbdab48", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "2c570e84edbdab48", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_northeast.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b02ac6382830559", "level": "note", "message": {"text": "Possibly dead Python function: search_yp_proxy"}, "properties": {"repobilityId": "0f24e0516288213e", "scanner": "scanner-primary", "fingerprint": "7b02ac6382830559", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_proxy.py:114"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33828b33889c83a8", "level": "note", "message": {"text": "Possibly dead Python function: search_manta_proxy"}, "properties": {"repobilityId": "451aeb8677c67f61", "scanner": "scanner-primary", "fingerprint": "33828b33889c83a8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_proxy.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-79a6a0feae5104c5", "level": "note", "message": {"text": "Possibly dead Python function: search_bing_local"}, "properties": {"repobilityId": "4235220c2d7a5acf", "scanner": "scanner-primary", "fingerprint": "79a6a0feae5104c5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_proxy.py:196"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cefc7c5e0b8978b", "level": "note", "message": {"text": "Possibly dead Python function: process_business_via_search"}, "properties": {"repobilityId": "a94b116d1390feed", "scanner": "scanner-primary", "fingerprint": "2cefc7c5e0b8978b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_via_search.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42f97727497ff9ea", "level": "note", "message": {"text": "Possibly dead Python function: enumerate_social_urls"}, "properties": {"repobilityId": "78ec1cd074f19973", "scanner": "scanner-primary", "fingerprint": "42f97727497ff9ea", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_us_socials.py:115"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aacbe81502c7fef1", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "aacbe81502c7fef1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_south.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc10e60632c4ac5a", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "bc10e60632c4ac5a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_south.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c657be12aaa9444", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "6c657be12aaa9444", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_other.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bdf646b5f8bf1ddc", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "bdf646b5f8bf1ddc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_other.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3fb0b539a40a8388", "level": "note", "message": {"text": "Possibly dead Python function: header"}, "properties": {"repobilityId": "0d3c97e1cc68c808", "scanner": "scanner-primary", "fingerprint": "3fb0b539a40a8388", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_qa_pdf.py:5"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-81c749e8884512db", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "81c749e8884512db", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/usa_gap_filler_v4.py:65"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-63f2f1bb785b5491", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "63f2f1bb785b5491", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/usa_gap_filler_v4.py:138"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cdba1b9b27985f88", "level": "note", "message": {"text": "Possibly dead Python function: process_business_via_google"}, "properties": {"repobilityId": "3422e9f3e375b820", "scanner": "scanner-primary", "fingerprint": "cdba1b9b27985f88", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_via_google.py:101"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4fce6e57216c21b5", "level": "note", "message": {"text": "Possibly dead Python function: replace_update"}, "properties": {"repobilityId": "6de0cc7e12ae4cd7", "scanner": "scanner-primary", "fingerprint": "4fce6e57216c21b5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/apply_robust_fix.py:13"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-430fdd1b00b5c637", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "430fdd1b00b5c637", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_midwest.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40783b86633311aa", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "40783b86633311aa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_midwest.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0dfa78cb13dfa08d", "level": "note", "message": {"text": "Possibly dead Python function: search_yp"}, "properties": {"repobilityId": "c919c7fb15dcc49f", "scanner": "scanner-primary", "fingerprint": "0dfa78cb13dfa08d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_west.py:107"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fa7a0e23dff54cb9", "level": "note", "message": {"text": "Possibly dead Python function: search_manta"}, "properties": {"repobilityId": "8eb786766ce32da8", "scanner": "scanner-primary", "fingerprint": "fa7a0e23dff54cb9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fill_gaps_west.py:149"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9f32aa8c4e749f4d", "level": "note", "message": {"text": "Possibly dead Python function: process_business_via_yell"}, "properties": {"repobilityId": "1fb0545602f83ee1", "scanner": "scanner-primary", "fingerprint": "9f32aa8c4e749f4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/enrich_via_yell.py:105"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7581498ac317b2d1", "level": "note", "message": {"text": "Possibly dead Python function: yp_url"}, "properties": {"repobilityId": "816f05a5314a253f", "scanner": "scanner-primary", "fingerprint": "7581498ac317b2d1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/debug_search.py:20"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b07f9bace85d3ee", "level": "note", "message": {"text": "Possibly dead Python function: yelp_url"}, "properties": {"repobilityId": "3ea357eec6f6dd71", "scanner": "scanner-primary", "fingerprint": "9b07f9bace85d3ee", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/debug_search.py:21"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f8c98b44640cf60", "level": "note", "message": {"text": "Possibly dead Python function: manta_url"}, "properties": {"repobilityId": "501446694cb74814", "scanner": "scanner-primary", "fingerprint": "2f8c98b44640cf60", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/debug_search.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8826f1d09002a177", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 paste_snippet.js:107"}, "properties": {"repobilityId": "b477124d059b4028", "scanner": "scanner-primary", "fingerprint": "8826f1d09002a177", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e5c95e8733083e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 all_remaining_plumbers.js:56"}, "properties": {"repobilityId": "4a73820c44903475", "scanner": "scanner-primary", "fingerprint": "8e5c95e8733083e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a65c410ef4032fc7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 temp_restore_utf8.tsx:3031"}, "properties": {"repobilityId": "8d0602feee3d1228", "scanner": "scanner-primary", "fingerprint": "a65c410ef4032fc7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-22502491e022b736", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 coverage_summary.ts:3"}, "properties": {"repobilityId": "6f04452b4e2951a9", "scanner": "scanner-primary", "fingerprint": "22502491e022b736", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62a7cdc513665402", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 emergency-brain.js:22"}, "properties": {"repobilityId": "8f6dc38c3f0c6d4c", "scanner": "scanner-primary", "fingerprint": "62a7cdc513665402", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f89d8f5a94d2fbf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_69.js:50"}, "properties": {"repobilityId": "53c6d1d1a09c612f", "scanner": "scanner-primary", "fingerprint": "3f89d8f5a94d2fbf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b59b1f12fbf84d1d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy_missing_color_blocks.js:40"}, "properties": {"repobilityId": "efaa836876e160d5", "scanner": "scanner-primary", "fingerprint": "b59b1f12fbf84d1d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e5bff3d98196134", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_live_refrigerant_gb.js:25"}, "properties": {"repobilityId": "4b4fdd5d7b6b6daa", "scanner": "scanner-primary", "fingerprint": "8e5bff3d98196134", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93b14851e79233d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase_posts.js:12"}, "properties": {"repobilityId": "fa6c21621b16f7b4", "scanner": "scanner-primary", "fingerprint": "93b14851e79233d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef04ec9ae1e297d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_12.js:91"}, "properties": {"repobilityId": "fd8098a2c776233a", "scanner": "scanner-primary", "fingerprint": "ef04ec9ae1e297d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5608595e1b2e1f60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day38_breakdown_blog.js:43"}, "properties": {"repobilityId": "4415d0f19e9a23ee", "scanner": "scanner-primary", "fingerprint": "5608595e1b2e1f60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-faeac00bb9a05727", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts.js:22"}, "properties": {"repobilityId": "8fecedab92557636", "scanner": "scanner-primary", "fingerprint": "faeac00bb9a05727", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ae3cd123af3062c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_keys.ts:5"}, "properties": {"repobilityId": "d336f06130f6f52f", "scanner": "scanner-primary", "fingerprint": "2ae3cd123af3062c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0385ac9e5ca1f6b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_content_v3.js:460"}, "properties": {"repobilityId": "2305ec28d932bc2b", "scanner": "scanner-primary", "fingerprint": "0385ac9e5ca1f6b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ce5e3fde6f6432e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_77.js:50"}, "properties": {"repobilityId": "48a86ef24fb181c1", "scanner": "scanner-primary", "fingerprint": "0ce5e3fde6f6432e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ab41b8f29f92142e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_1.js:50"}, "properties": {"repobilityId": "f8cb722f307a43a4", "scanner": "scanner-primary", "fingerprint": "ab41b8f29f92142e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed5637ade3a1645c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_create_us_posts.js:190"}, "properties": {"repobilityId": "f2784a017615ceb9", "scanner": "scanner-primary", "fingerprint": "ed5637ade3a1645c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3bea067acf376c46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_plumbing_blog.js:128"}, "properties": {"repobilityId": "fceb5029cab5453a", "scanner": "scanner-primary", "fingerprint": "3bea067acf376c46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1fa5b14f8f59c484", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_431_435.js:60"}, "properties": {"repobilityId": "a64a01994d46202b", "scanner": "scanner-primary", "fingerprint": "1fa5b14f8f59c484", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22e2c4e28eb3bc96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/boost_business.ts:27"}, "properties": {"repobilityId": "60b4cd57a26edafa", "scanner": "scanner-primary", "fingerprint": "22e2c4e28eb3bc96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8278837c7c729cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_post_slugs.js:16"}, "properties": {"repobilityId": "9d3f5ab2686b5789", "scanner": "scanner-primary", "fingerprint": "e8278837c7c729cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e99724269ad2566", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_owner_businesses.ts:16"}, "properties": {"repobilityId": "209cf8ee584c83a1", "scanner": "scanner-primary", "fingerprint": "3e99724269ad2566", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d94748c7e572ed6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_image_fixes.js:97"}, "properties": {"repobilityId": "9a2fa3988544b0c6", "scanner": "scanner-primary", "fingerprint": "7d94748c7e572ed6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79b0d3f7ccd8dbd8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_41.js:50"}, "properties": {"repobilityId": "46eff2a133f56352", "scanner": "scanner-primary", "fingerprint": "79b0d3f7ccd8dbd8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73bf726867bda47d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_80.js:50"}, "properties": {"repobilityId": "c31cec5eb858268c", "scanner": "scanner-primary", "fingerprint": "73bf726867bda47d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd795f3513ae714c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_rls_access.ts:25"}, "properties": {"repobilityId": "e1bc8e33f4b90497", "scanner": "scanner-primary", "fingerprint": "dd795f3513ae714c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c47abb73e12845b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog.js:152"}, "properties": {"repobilityId": "197b6101a216d2bd", "scanner": "scanner-primary", "fingerprint": "0c47abb73e12845b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b4cd4b1344be9de", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase3_trades.ts:52"}, "properties": {"repobilityId": "010e6f79f25bd2ce", "scanner": "scanner-primary", "fingerprint": "6b4cd4b1344be9de", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26970869c4364655", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_all_content.js:52"}, "properties": {"repobilityId": "e6a45b50443473fd", "scanner": "scanner-primary", "fingerprint": "26970869c4364655", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ca16919fa488c47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_missing_water.ts:52"}, "properties": {"repobilityId": "55c84ec235678251", "scanner": "scanner-primary", "fingerprint": "8ca16919fa488c47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5b25698fa82ad30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_day39.js:15"}, "properties": {"repobilityId": "3684131c653896ea", "scanner": "scanner-primary", "fingerprint": "d5b25698fa82ad30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91776c458b1e2595", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_custom_profile.ts:14"}, "properties": {"repobilityId": "6eea3f2d1ad86346", "scanner": "scanner-primary", "fingerprint": "91776c458b1e2595", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b85cf3cf94c5c036", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_291_295.js:60"}, "properties": {"repobilityId": "b47b35e4e7e0197f", "scanner": "scanner-primary", "fingerprint": "b85cf3cf94c5c036", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-963f87af711fe338", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_luton.ts:16"}, "properties": {"repobilityId": "4dba181b9e104e4f", "scanner": "scanner-primary", "fingerprint": "963f87af711fe338", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7282a9543ccff25b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_final_blog_fix.js:10"}, "properties": {"repobilityId": "425cb883f7303114", "scanner": "scanner-primary", "fingerprint": "7282a9543ccff25b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e47b6a9e9fe9908a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-guide.js:229"}, "properties": {"repobilityId": "a2b1b107ad1a4795", "scanner": "scanner-primary", "fingerprint": "e47b6a9e9fe9908a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03af46c9bfd4e5f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_safe_mode_profiles.js:24"}, "properties": {"repobilityId": "84a0ca1eafb35a05", "scanner": "scanner-primary", "fingerprint": "03af46c9bfd4e5f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ba335b11bc1da75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_84.js:50"}, "properties": {"repobilityId": "f173861b749f4924", "scanner": "scanner-primary", "fingerprint": "5ba335b11bc1da75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-347e0abe12f333f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_listings.js:18"}, "properties": {"repobilityId": "d10820006ade1f76", "scanner": "scanner-primary", "fingerprint": "347e0abe12f333f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2161c9d73e94d80e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_convert_webp.js:72"}, "properties": {"repobilityId": "084e39736b4ce053", "scanner": "scanner-primary", "fingerprint": "2161c9d73e94d80e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5994922541ba7a5a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_final_duplicate_images.js:9"}, "properties": {"repobilityId": "88a3620f1b23e6b2", "scanner": "scanner-primary", "fingerprint": "5994922541ba7a5a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e074fb7c7a5355b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/finalize-dev-account.js:31"}, "properties": {"repobilityId": "ffdd174bef2f4618", "scanner": "scanner-primary", "fingerprint": "e074fb7c7a5355b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0ee7761c9825808", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reimport_with_phones.ts:29"}, "properties": {"repobilityId": "f1294ff5d95cdb7f", "scanner": "scanner-primary", "fingerprint": "f0ee7761c9825808", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f2c69868a925514", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_us_blogs.js:12"}, "properties": {"repobilityId": "8ced8fc7a58a4e13", "scanner": "scanner-primary", "fingerprint": "7f2c69868a925514", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ddd77521ada7984", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blogs.js:24"}, "properties": {"repobilityId": "8aa7fdee4e4f42d2", "scanner": "scanner-primary", "fingerprint": "3ddd77521ada7984", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ea70b650e90f48a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps.js:51"}, "properties": {"repobilityId": "37fa71cb584c0cb3", "scanner": "scanner-primary", "fingerprint": "2ea70b650e90f48a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3873489a2ee9d0b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_356_360.js:60"}, "properties": {"repobilityId": "93755e5329c03fc8", "scanner": "scanner-primary", "fingerprint": "a3873489a2ee9d0b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78711dce35b7d278", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_58.js:50"}, "properties": {"repobilityId": "57568975f3e81fac", "scanner": "scanner-primary", "fingerprint": "78711dce35b7d278", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9998983611114aa0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_schema.js:27"}, "properties": {"repobilityId": "ff0e60e377482924", "scanner": "scanner-primary", "fingerprint": "9998983611114aa0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9ec578c5878d1d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_406_410.js:60"}, "properties": {"repobilityId": "70675a2cfb22e6d7", "scanner": "scanner-primary", "fingerprint": "b9ec578c5878d1d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd9e55509201ceb0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_9.js:50"}, "properties": {"repobilityId": "fdc3dfc8b70e2c23", "scanner": "scanner-primary", "fingerprint": "cd9e55509201ceb0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b11d9d0c5380fc9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_frozen_condensate.js:106"}, "properties": {"repobilityId": "1dc96ff01fdb791f", "scanner": "scanner-primary", "fingerprint": "b11d9d0c5380fc9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79c9b8175576bf55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_incorrect_links.js:10"}, "properties": {"repobilityId": "cf7448db5d24e7cf", "scanner": "scanner-primary", "fingerprint": "79c9b8175576bf55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-226196142c0ad118", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_foursquare_reviews.js:28"}, "properties": {"repobilityId": "72438256a27eaa56", "scanner": "scanner-primary", "fingerprint": "226196142c0ad118", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fdf505f4ffb00e3e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/standardize_final_trades.ts:15"}, "properties": {"repobilityId": "8bf888a18940f559", "scanner": "scanner-primary", "fingerprint": "fdf505f4ffb00e3e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3905a6f74b1f98a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_data_read.ts:12"}, "properties": {"repobilityId": "7f476aa382b74dc8", "scanner": "scanner-primary", "fingerprint": "b3905a6f74b1f98a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-322a6ad0957d079f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_final_verified_us.ts:36"}, "properties": {"repobilityId": "3d3ba9ff82fc38d9", "scanner": "scanner-primary", "fingerprint": "322a6ad0957d079f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce05a8c7dce9b8fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_cleanup.ts:24"}, "properties": {"repobilityId": "acc5d001a20602b4", "scanner": "scanner-primary", "fingerprint": "ce05a8c7dce9b8fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-257c546ce5cea678", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_75.js:50"}, "properties": {"repobilityId": "0ddd194f8c8eea07", "scanner": "scanner-primary", "fingerprint": "257c546ce5cea678", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb3dd58e9aa34e9b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_posts.js:36"}, "properties": {"repobilityId": "7e6101f11227cccf", "scanner": "scanner-primary", "fingerprint": "fb3dd58e9aa34e9b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8b16699c6707cd66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_166_170.js:60"}, "properties": {"repobilityId": "f226696a8f9cb0fc", "scanner": "scanner-primary", "fingerprint": "8b16699c6707cd66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9d57a4500d99476", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_latest_blog.js:32"}, "properties": {"repobilityId": "280c1c0fb6f6cfb9", "scanner": "scanner-primary", "fingerprint": "f9d57a4500d99476", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2960a4ee4e7a25b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_102.js:50"}, "properties": {"repobilityId": "26fcd313cd6683ca", "scanner": "scanner-primary", "fingerprint": "d2960a4ee4e7a25b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc4960bf050583c8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_ev_charger.js:38"}, "properties": {"repobilityId": "8aa08f5d582f73ff", "scanner": "scanner-primary", "fingerprint": "dc4960bf050583c8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df0f026fb84879ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_87.js:50"}, "properties": {"repobilityId": "60f5479ec3a98b68", "scanner": "scanner-primary", "fingerprint": "df0f026fb84879ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b267ac4a05f06407", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_281_285.js:60"}, "properties": {"repobilityId": "fb41d82170a49c56", "scanner": "scanner-primary", "fingerprint": "b267ac4a05f06407", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df3e211fa5e116a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_recent.js:26"}, "properties": {"repobilityId": "72f6638ba6efd034", "scanner": "scanner-primary", "fingerprint": "df3e211fa5e116a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94fe8708c413f744", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_all_remaining_duplicates.js:9"}, "properties": {"repobilityId": "67e11f575a214914", "scanner": "scanner-primary", "fingerprint": "94fe8708c413f744", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77d1a94bd195aa27", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_blogs.js:19"}, "properties": {"repobilityId": "9b2188b1fc7497bc", "scanner": "scanner-primary", "fingerprint": "77d1a94bd195aa27", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78f69eac464ca750", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_40.js:50"}, "properties": {"repobilityId": "bae2875c1a01a515", "scanner": "scanner-primary", "fingerprint": "78f69eac464ca750", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7382d9663e33e046", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_security_hero_image.js:39"}, "properties": {"repobilityId": "425bf0f85fdb6cba", "scanner": "scanner-primary", "fingerprint": "7382d9663e33e046", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62c9dddea3ad939f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_post_slugs.js:24"}, "properties": {"repobilityId": "01f2598c5314a8bd", "scanner": "scanner-primary", "fingerprint": "62c9dddea3ad939f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3d05337b5e0534e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boarding.js:196"}, "properties": {"repobilityId": "7d811318f19be07f", "scanner": "scanner-primary", "fingerprint": "e3d05337b5e0534e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa1be768b03a9cf1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-env.ts:4"}, "properties": {"repobilityId": "8de0ec661b92cf15", "scanner": "scanner-primary", "fingerprint": "aa1be768b03a9cf1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e5955a457653463", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error.js:7"}, "properties": {"repobilityId": "bbb37d62d14bc43c", "scanner": "scanner-primary", "fingerprint": "1e5955a457653463", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ffa62bc109f83a90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/surgical_restore.js:56"}, "properties": {"repobilityId": "00c0f1f3b84c7d46", "scanner": "scanner-primary", "fingerprint": "ffa62bc109f83a90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cba892cd93054028", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_headers.js:19"}, "properties": {"repobilityId": "ec09886deb9223a5", "scanner": "scanner-primary", "fingerprint": "cba892cd93054028", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5d3ede61fc8cae7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_london_blog.ts:86"}, "properties": {"repobilityId": "126be6ca9d81e7e4", "scanner": "scanner-primary", "fingerprint": "b5d3ede61fc8cae7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a24c22aa565cb75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_thaw_post.js:170"}, "properties": {"repobilityId": "628e67b3a5bec5b9", "scanner": "scanner-primary", "fingerprint": "3a24c22aa565cb75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97f30233e41eb3bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_daily_blog.js:94"}, "properties": {"repobilityId": "2d9fc4556f58d440", "scanner": "scanner-primary", "fingerprint": "97f30233e41eb3bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56e603d05b6b0a52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_cover_images.js:32"}, "properties": {"repobilityId": "58539c9e8beac1ad", "scanner": "scanner-primary", "fingerprint": "56e603d05b6b0a52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94d2904c8e642ce3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_browser.js:5"}, "properties": {"repobilityId": "799335b7510dce53", "scanner": "scanner-primary", "fingerprint": "94d2904c8e642ce3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-072ec8e4ae96397c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post.js:177"}, "properties": {"repobilityId": "c709ffcc87f7849a", "scanner": "scanner-primary", "fingerprint": "072ec8e4ae96397c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-543dd8b9026e42b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_duplicates.ts:16"}, "properties": {"repobilityId": "e8ca0449af567ff1", "scanner": "scanner-primary", "fingerprint": "543dd8b9026e42b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed5664c093718409", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_amazon_btn.js:42"}, "properties": {"repobilityId": "ed374d95251c8e5e", "scanner": "scanner-primary", "fingerprint": "ed5664c093718409", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a63421597aba315", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_121_125.js:60"}, "properties": {"repobilityId": "69e99edc91f42d29", "scanner": "scanner-primary", "fingerprint": "8a63421597aba315", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a6e9137135b44ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12b.ts:26"}, "properties": {"repobilityId": "78117c7541fa93fa", "scanner": "scanner-primary", "fingerprint": "8a6e9137135b44ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b57df4b55fb18b96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert.ts:24"}, "properties": {"repobilityId": "85108367ae496415", "scanner": "scanner-primary", "fingerprint": "b57df4b55fb18b96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c57b7ec8d1180e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase.js:44"}, "properties": {"repobilityId": "cf857009f8ee029b", "scanner": "scanner-primary", "fingerprint": "0c57b7ec8d1180e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c05e173829c2ea0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_aranet_link_us.js:14"}, "properties": {"repobilityId": "df098b9eb1d2d397", "scanner": "scanner-primary", "fingerprint": "2c05e173829c2ea0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f308f4665dde599e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_16.js:50"}, "properties": {"repobilityId": "fc024a8606f9240d", "scanner": "scanner-primary", "fingerprint": "f308f4665dde599e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff0d442ceefde807", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_user_id.ts:26"}, "properties": {"repobilityId": "fd36e2ac7da14d4a", "scanner": "scanner-primary", "fingerprint": "ff0d442ceefde807", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17645d60f479fe4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_311_315.js:60"}, "properties": {"repobilityId": "96105923bd50f940", "scanner": "scanner-primary", "fingerprint": "17645d60f479fe4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-648cd59b256781be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_fix_v5.js:33"}, "properties": {"repobilityId": "230c73a04da95e3b", "scanner": "scanner-primary", "fingerprint": "648cd59b256781be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-abdbb30cf13267b1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_rpc.js:28"}, "properties": {"repobilityId": "a5c3c696553e873e", "scanner": "scanner-primary", "fingerprint": "abdbb30cf13267b1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c2283dfeb78249c8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-electrical-blog.js:187"}, "properties": {"repobilityId": "79fb15fef50ddccf", "scanner": "scanner-primary", "fingerprint": "c2283dfeb78249c8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d99c8e2c002417a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_30.js:50"}, "properties": {"repobilityId": "12d4bcbb2e79e774", "scanner": "scanner-primary", "fingerprint": "6d99c8e2c002417a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83a75745a4bed4cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_swap_us_images.js:12"}, "properties": {"repobilityId": "f52b5396827350ee", "scanner": "scanner-primary", "fingerprint": "83a75745a4bed4cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef0f62f2b4544f2d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_ac.js:214"}, "properties": {"repobilityId": "50b8bca787bed5e6", "scanner": "scanner-primary", "fingerprint": "ef0f62f2b4544f2d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e94f6673e1632b4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_businesses.js:20"}, "properties": {"repobilityId": "504ee965ceee8f32", "scanner": "scanner-primary", "fingerprint": "e94f6673e1632b4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e91f8c0ca2e3882", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_us_gaps_v2.js:18"}, "properties": {"repobilityId": "65b0c63e80366c00", "scanner": "scanner-primary", "fingerprint": "4e91f8c0ca2e3882", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0989d843fb16a3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_screenshot.js:8"}, "properties": {"repobilityId": "24754080e43ffdbd", "scanner": "scanner-primary", "fingerprint": "c0989d843fb16a3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-890d99c5813ff3a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_216_220.js:60"}, "properties": {"repobilityId": "5f69ab2b176a7720", "scanner": "scanner-primary", "fingerprint": "890d99c5813ff3a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05cfdfe98756c269", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_141_145.js:60"}, "properties": {"repobilityId": "fea71dc9ecc2d97c", "scanner": "scanner-primary", "fingerprint": "05cfdfe98756c269", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92899ff9e03cdbcd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_error2.js:7"}, "properties": {"repobilityId": "d6103c57fdec22a8", "scanner": "scanner-primary", "fingerprint": "92899ff9e03cdbcd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62b5e49e84d6bac6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_10.js:50"}, "properties": {"repobilityId": "0c09b2a3fd0b90a9", "scanner": "scanner-primary", "fingerprint": "62b5e49e84d6bac6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20e3dc4fb6331df9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_351_355.js:60"}, "properties": {"repobilityId": "8750e653a6ee2178", "scanner": "scanner-primary", "fingerprint": "20e3dc4fb6331df9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88543d0b649b5202", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_321_325.js:60"}, "properties": {"repobilityId": "9ed784d3715a28a3", "scanner": "scanner-primary", "fingerprint": "88543d0b649b5202", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5adef1d01e0538c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_chinese_chars.js:63"}, "properties": {"repobilityId": "03c9906b74383c3d", "scanner": "scanner-primary", "fingerprint": "c5adef1d01e0538c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5eee37e6aced2c04", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.js:111"}, "properties": {"repobilityId": "97c662424750e259", "scanner": "scanner-primary", "fingerprint": "5eee37e6aced2c04", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89ebee6e8f9adef0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_366_370.js:60"}, "properties": {"repobilityId": "2601a67df86196a9", "scanner": "scanner-primary", "fingerprint": "89ebee6e8f9adef0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd63021a28775f2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_profile_city.ts:15"}, "properties": {"repobilityId": "300bad2994b297e8", "scanner": "scanner-primary", "fingerprint": "cd63021a28775f2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94107973bbdb1657", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_331_335.js:60"}, "properties": {"repobilityId": "cd9f888d2f95a2c4", "scanner": "scanner-primary", "fingerprint": "94107973bbdb1657", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0395eeb794b3d713", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_columns.ts:19"}, "properties": {"repobilityId": "4f7ce85070766481", "scanner": "scanner-primary", "fingerprint": "0395eeb794b3d713", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ced390342f222a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/definitive_bidet_fix.js:120"}, "properties": {"repobilityId": "24799cfd133a719b", "scanner": "scanner-primary", "fingerprint": "1ced390342f222a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c885f48eda0a8e9d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_city.ts:25"}, "properties": {"repobilityId": "6b4951447b25dedb", "scanner": "scanner-primary", "fingerprint": "c885f48eda0a8e9d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b2e8328cb4dc385", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/print_key.js:7"}, "properties": {"repobilityId": "f6978a70bbd7f5f3", "scanner": "scanner-primary", "fingerprint": "9b2e8328cb4dc385", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ff077c7f0706e62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_78.js:50"}, "properties": {"repobilityId": "55cf9549d6c9027b", "scanner": "scanner-primary", "fingerprint": "0ff077c7f0706e62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf4579340dc29e20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water_leak.js:277"}, "properties": {"repobilityId": "d9033ea02a6b881a", "scanner": "scanner-primary", "fingerprint": "bf4579340dc29e20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7a87d84183115a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_microplastic_blog.js:105"}, "properties": {"repobilityId": "54db9c8a7eade06d", "scanner": "scanner-primary", "fingerprint": "f7a87d84183115a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0eccfd9637e0fe57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_mega_batch.ts:22"}, "properties": {"repobilityId": "3b79f12485295c06", "scanner": "scanner-primary", "fingerprint": "0eccfd9637e0fe57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a86f4bcc827ece59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch2.ts:25"}, "properties": {"repobilityId": "5f7ac10e1e3193a8", "scanner": "scanner-primary", "fingerprint": "a86f4bcc827ece59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e3cec98cfbcc1f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_146_150.js:60"}, "properties": {"repobilityId": "163d823ca1979f83", "scanner": "scanner-primary", "fingerprint": "5e3cec98cfbcc1f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9353f61781929c41", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_counterparts.js:31"}, "properties": {"repobilityId": "b6bf60f989b3904a", "scanner": "scanner-primary", "fingerprint": "9353f61781929c41", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12357ba4f3173730", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_421_425.js:60"}, "properties": {"repobilityId": "c72d95cce9c17a52", "scanner": "scanner-primary", "fingerprint": "12357ba4f3173730", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5cdb16dad544138a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_db_posts.js:61"}, "properties": {"repobilityId": "6b63e00f6213773d", "scanner": "scanner-primary", "fingerprint": "5cdb16dad544138a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ab205032c2bc2726", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_63.js:50"}, "properties": {"repobilityId": "f2a0987b3928df9c", "scanner": "scanner-primary", "fingerprint": "ab205032c2bc2726", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d79c4b04123e99a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_current_us_db.ts:29"}, "properties": {"repobilityId": "bcc4998a476fdf5c", "scanner": "scanner-primary", "fingerprint": "7d79c4b04123e99a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35f72a1f1c4954be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_guide.js:24"}, "properties": {"repobilityId": "25775c92d85e4317", "scanner": "scanner-primary", "fingerprint": "35f72a1f1c4954be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d384c4c0f5fe9bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_houston_roofers.js:11"}, "properties": {"repobilityId": "36fd80279a6753b7", "scanner": "scanner-primary", "fingerprint": "0d384c4c0f5fe9bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af0d2e4a363a770b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_second_blog.js:15"}, "properties": {"repobilityId": "e9a54f91b34e3478", "scanner": "scanner-primary", "fingerprint": "af0d2e4a363a770b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-487337dd61741707", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_14.js:50"}, "properties": {"repobilityId": "b6677ec0f96acaa1", "scanner": "scanner-primary", "fingerprint": "487337dd61741707", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-512c799cfd18cffe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_costway_section.js:40"}, "properties": {"repobilityId": "257b64566c4352e5", "scanner": "scanner-primary", "fingerprint": "512c799cfd18cffe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39a91fb7658b5b49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_191_195.js:60"}, "properties": {"repobilityId": "9ee44cf61c5f7003", "scanner": "scanner-primary", "fingerprint": "39a91fb7658b5b49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d391f7285ba62b29", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_posts.js:29"}, "properties": {"repobilityId": "d6ec0760d0fcb0cd", "scanner": "scanner-primary", "fingerprint": "d391f7285ba62b29", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e8ea56c989ce286", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase7_trades.ts:52"}, "properties": {"repobilityId": "0c1ee7d31c5137a4", "scanner": "scanner-primary", "fingerprint": "8e8ea56c989ce286", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb2010bb1884ddb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_42.js:50"}, "properties": {"repobilityId": "b0a471338efe55bc", "scanner": "scanner-primary", "fingerprint": "eb2010bb1884ddb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f3aa540ceac898c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_progress.js:26"}, "properties": {"repobilityId": "ec1a084f39cfbdcd", "scanner": "scanner-primary", "fingerprint": "f3aa540ceac898c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac2ef444d6594914", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_car.js:177"}, "properties": {"repobilityId": "da56a695796befca", "scanner": "scanner-primary", "fingerprint": "ac2ef444d6594914", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-059ba20973aa52ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas_final.ts:19"}, "properties": {"repobilityId": "f7c08cad7eddfdc7", "scanner": "scanner-primary", "fingerprint": "059ba20973aa52ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e696ce5bd495ad4f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_phase5_trades.ts:52"}, "properties": {"repobilityId": "f1a6feee7ee6f6e8", "scanner": "scanner-primary", "fingerprint": "e696ce5bd495ad4f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-031553068b77a425", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_co_guide.js:15"}, "properties": {"repobilityId": "100b6e5c6f39930a", "scanner": "scanner-primary", "fingerprint": "031553068b77a425", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-956bf0dd31d18ce9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-all-posts.js:28"}, "properties": {"repobilityId": "aad64987928640fa", "scanner": "scanner-primary", "fingerprint": "956bf0dd31d18ce9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4abaca93d25d3015", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_48.js:50"}, "properties": {"repobilityId": "e36176eb827f8fe0", "scanner": "scanner-primary", "fingerprint": "4abaca93d25d3015", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-038f5dfa323e6c25", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_blog.js:30"}, "properties": {"repobilityId": "6e40bdf10aa0e152", "scanner": "scanner-primary", "fingerprint": "038f5dfa323e6c25", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1bad5c355b3a4ab1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v3.js:25"}, "properties": {"repobilityId": "3c7e2b12e30c7d6d", "scanner": "scanner-primary", "fingerprint": "1bad5c355b3a4ab1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-308b323a5696b869", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_alt.js:12"}, "properties": {"repobilityId": "894104e058735b11", "scanner": "scanner-primary", "fingerprint": "308b323a5696b869", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-647d68206224a7d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_heatwave_blog_2026.js:261"}, "properties": {"repobilityId": "54626e0cd9847074", "scanner": "scanner-primary", "fingerprint": "647d68206224a7d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-61efb26f604724ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_blog_hero.js:25"}, "properties": {"repobilityId": "8cad8ea9d6ae188f", "scanner": "scanner-primary", "fingerprint": "61efb26f604724ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46cac73454d4efa3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12b.ts:10"}, "properties": {"repobilityId": "11f0520cf5d3965c", "scanner": "scanner-primary", "fingerprint": "46cac73454d4efa3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f5430b8790badba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/probe_thomson.ts:14"}, "properties": {"repobilityId": "47dcc590a913a54c", "scanner": "scanner-primary", "fingerprint": "3f5430b8790badba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b95806bd67de316c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_seo.js:3"}, "properties": {"repobilityId": "066fa405acefdacf", "scanner": "scanner-primary", "fingerprint": "b95806bd67de316c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-159a339067d9efb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/append_remaining_nyc_trades.js:172"}, "properties": {"repobilityId": "810d262b98c32bb5", "scanner": "scanner-primary", "fingerprint": "159a339067d9efb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a1ea2dbb21cf95e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_231_235.js:60"}, "properties": {"repobilityId": "7e20bb2794b3b643", "scanner": "scanner-primary", "fingerprint": "3a1ea2dbb21cf95e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e457a8c5e3d0e97a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_blog_images.js:12"}, "properties": {"repobilityId": "2f593d6b3e76fe07", "scanner": "scanner-primary", "fingerprint": "e457a8c5e3d0e97a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-15c4c0f0bc068952", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/master_ingester.js:18"}, "properties": {"repobilityId": "8567a4794ea435e1", "scanner": "scanner-primary", "fingerprint": "15c4c0f0bc068952", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd2a30d7ec383aa3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_186_190.js:60"}, "properties": {"repobilityId": "c03462d2dcdf5341", "scanner": "scanner-primary", "fingerprint": "dd2a30d7ec383aa3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1fceae1fab4b23da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_17.js:50"}, "properties": {"repobilityId": "8882a9e8903ca7c6", "scanner": "scanner-primary", "fingerprint": "1fceae1fab4b23da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-649ea8683477e9b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-rss.js:70"}, "properties": {"repobilityId": "fe892d29ce9fb916", "scanner": "scanner-primary", "fingerprint": "649ea8683477e9b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9856095d3766c8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cross_reference_listings.js:18"}, "properties": {"repobilityId": "bbf273d75126bec9", "scanner": "scanner-primary", "fingerprint": "d9856095d3766c8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0188031a275ca9ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_boarding_guides.js:13"}, "properties": {"repobilityId": "5410d3cef89b4391", "scanner": "scanner-primary", "fingerprint": "0188031a275ca9ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1cdaefbfe77d86f8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_fill_uk_gaps.ts:88"}, "properties": {"repobilityId": "25b9cd86dc52b631", "scanner": "scanner-primary", "fingerprint": "1cdaefbfe77d86f8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d585a362c74c812e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/super_fuzzy_purge.js:10"}, "properties": {"repobilityId": "2b9f6085aadb748c", "scanner": "scanner-primary", "fingerprint": "d585a362c74c812e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae5d01c2caffdd4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_final_cities.ts:23"}, "properties": {"repobilityId": "589303bfbacf459c", "scanner": "scanner-primary", "fingerprint": "ae5d01c2caffdd4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f093f9490412d6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_us.js:248"}, "properties": {"repobilityId": "1ef5d37c2b03ef8f", "scanner": "scanner-primary", "fingerprint": "2f093f9490412d6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c549f3ea561a5589", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_386_390.js:60"}, "properties": {"repobilityId": "5bf9e76f9fb3022b", "scanner": "scanner-primary", "fingerprint": "c549f3ea561a5589", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d9af0aed529aa9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_block_pngs.js:173"}, "properties": {"repobilityId": "cdbe54f7bff97ea8", "scanner": "scanner-primary", "fingerprint": "4d9af0aed529aa9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-34b3ecf0baee92f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_neobrutalism_issues.js:103"}, "properties": {"repobilityId": "dcffb7a0b08faca0", "scanner": "scanner-primary", "fingerprint": "34b3ecf0baee92f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fc8fcb6af565a7a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_blogs.js:21"}, "properties": {"repobilityId": "89cb356b0de7841e", "scanner": "scanner-primary", "fingerprint": "fc8fcb6af565a7a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ce5ed80bf53cd64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_hollow_frame_images.js:22"}, "properties": {"repobilityId": "af5ed0c5af0d9725", "scanner": "scanner-primary", "fingerprint": "9ce5ed80bf53cd64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-525e98a557294411", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_regional_purge.js:25"}, "properties": {"repobilityId": "ed4c2df6b7562782", "scanner": "scanner-primary", "fingerprint": "525e98a557294411", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a5ed71a635cc083", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_batch2_v1.js:21"}, "properties": {"repobilityId": "16d822933bbda010", "scanner": "scanner-primary", "fingerprint": "2a5ed71a635cc083", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-afcf4da4c7540f61", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_hero_dupes.js:31"}, "properties": {"repobilityId": "c9ae25e7b7f6c1a3", "scanner": "scanner-primary", "fingerprint": "afcf4da4c7540f61", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-43054fc2dbe3cb4a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_heatwave_blogs.js:10"}, "properties": {"repobilityId": "890874d6b9c0679c", "scanner": "scanner-primary", "fingerprint": "43054fc2dbe3cb4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe4bdb74ee537626", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_2.js:50"}, "properties": {"repobilityId": "374eb253d56d823d", "scanner": "scanner-primary", "fingerprint": "fe4bdb74ee537626", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29dfec87689f75e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_2.ts:90"}, "properties": {"repobilityId": "86364b83759706f2", "scanner": "scanner-primary", "fingerprint": "29dfec87689f75e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e09f79d33e4900f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps.ts:74"}, "properties": {"repobilityId": "0d35a8ef315e2092", "scanner": "scanner-primary", "fingerprint": "e09f79d33e4900f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78eaa01940119937", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day36_sunday_plumber_fees.js:230"}, "properties": {"repobilityId": "679ba308bd575bbe", "scanner": "scanner-primary", "fingerprint": "78eaa01940119937", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f02a5be996c153d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_csv_data.ts:18"}, "properties": {"repobilityId": "2abb6d8c1f8608b2", "scanner": "scanner-primary", "fingerprint": "0f02a5be996c153d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8cd124c22f17b517", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_6.js:50"}, "properties": {"repobilityId": "ccfaec8276084489", "scanner": "scanner-primary", "fingerprint": "8cd124c22f17b517", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d23447f3534e99df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_us_resilience.js:41"}, "properties": {"repobilityId": "19e5983637b8bcb3", "scanner": "scanner-primary", "fingerprint": "d23447f3534e99df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b88e5b02aa29e6c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_single_hyper.js:135"}, "properties": {"repobilityId": "d57b51037c51e38d", "scanner": "scanner-primary", "fingerprint": "b88e5b02aa29e6c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f9db4bb428bad44", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_us_images_surgical.js:28"}, "properties": {"repobilityId": "419127e156c53a15", "scanner": "scanner-primary", "fingerprint": "9f9db4bb428bad44", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc68561cce523c15", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simple_test.ts:18"}, "properties": {"repobilityId": "4b0aef5138ba123d", "scanner": "scanner-primary", "fingerprint": "dc68561cce523c15", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eac993c410d65b7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_protection_fix.js:132"}, "properties": {"repobilityId": "cfa58da482c34aaf", "scanner": "scanner-primary", "fingerprint": "eac993c410d65b7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5543e473c00bb1a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_gas_and_lockout_blogs.js:51"}, "properties": {"repobilityId": "e871b812f0895db5", "scanner": "scanner-primary", "fingerprint": "5543e473c00bb1a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fae565102d9811d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_15.js:50"}, "properties": {"repobilityId": "4e2f18a402360d10", "scanner": "scanner-primary", "fingerprint": "fae565102d9811d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-572c9e6c4e92a333", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_us_data.ts:116"}, "properties": {"repobilityId": "78a44c37b64c7ee0", "scanner": "scanner-primary", "fingerprint": "572c9e6c4e92a333", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86665793ccfe1534", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export_posts_for_audit.js:20"}, "properties": {"repobilityId": "b521f8af53704d94", "scanner": "scanner-primary", "fingerprint": "86665793ccfe1534", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8a55131cf585718", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_v4.js:20"}, "properties": {"repobilityId": "19fafed3d221f9dc", "scanner": "scanner-primary", "fingerprint": "e8a55131cf585718", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c70a98cbc3a9a09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_89.js:50"}, "properties": {"repobilityId": "395ec83fe3de471c", "scanner": "scanner-primary", "fingerprint": "7c70a98cbc3a9a09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb229bdc2c1ef69c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-populate.js:14"}, "properties": {"repobilityId": "9da59563cf738456", "scanner": "scanner-primary", "fingerprint": "bb229bdc2c1ef69c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac02245a19a36617", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_sprint1_drains.js:28"}, "properties": {"repobilityId": "6be6f0d33ba0fcbc", "scanner": "scanner-primary", "fingerprint": "ac02245a19a36617", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c93b9783b0ec4c2a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_missing_blog_images.js:16"}, "properties": {"repobilityId": "956b224f2140e207", "scanner": "scanner-primary", "fingerprint": "c93b9783b0ec4c2a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1dfb7fcb595ea39e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_236_240.js:60"}, "properties": {"repobilityId": "2ca0b830f0f719b5", "scanner": "scanner-primary", "fingerprint": "1dfb7fcb595ea39e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e14bfb66aa672aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_toilet_blog.js:35"}, "properties": {"repobilityId": "4c5309760170d543", "scanner": "scanner-primary", "fingerprint": "5e14bfb66aa672aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d4abd1e8bd4d2ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_24.js:50"}, "properties": {"repobilityId": "fc069e1a7e20f204", "scanner": "scanner-primary", "fingerprint": "6d4abd1e8bd4d2ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd623658a7b5b488", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_posts_batch.js:26"}, "properties": {"repobilityId": "a63895d417fb611a", "scanner": "scanner-primary", "fingerprint": "fd623658a7b5b488", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-84a06f088e7e2004", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_costway_orphan.js:43"}, "properties": {"repobilityId": "d8631053d2e9a20d", "scanner": "scanner-primary", "fingerprint": "84a06f088e7e2004", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9677bfb88457f7e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_color_blocks.js:54"}, "properties": {"repobilityId": "3fce695964c45094", "scanner": "scanner-primary", "fingerprint": "9677bfb88457f7e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c47ebdc7c241359d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_target_coverage.ts:23"}, "properties": {"repobilityId": "ead0dc2a05e17fdf", "scanner": "scanner-primary", "fingerprint": "c47ebdc7c241359d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f298b331b6d0eff1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v3.js:22"}, "properties": {"repobilityId": "f0ff1b4093490cab", "scanner": "scanner-primary", "fingerprint": "f298b331b6d0eff1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92a58fea6d1506d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_posts.js:18"}, "properties": {"repobilityId": "6397d0055887caa0", "scanner": "scanner-primary", "fingerprint": "92a58fea6d1506d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-157ade05cd6be8fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_garden_blog.js:22"}, "properties": {"repobilityId": "d0d0ca04cbc977dd", "scanner": "scanner-primary", "fingerprint": "157ade05cd6be8fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b302f3f3bb81404", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_to_webp.js:26"}, "properties": {"repobilityId": "b71ab752e2c541f3", "scanner": "scanner-primary", "fingerprint": "1b302f3f3bb81404", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bdee86d10b7d273b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_156_160.js:60"}, "properties": {"repobilityId": "58936c92dea5fbfb", "scanner": "scanner-primary", "fingerprint": "bdee86d10b7d273b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68d86471a5871790", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_181_185.js:60"}, "properties": {"repobilityId": "94d98bf1086525e1", "scanner": "scanner-primary", "fingerprint": "68d86471a5871790", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f989bbcbbd7d3db9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_201_205.js:60"}, "properties": {"repobilityId": "9e7c5a880bdacc61", "scanner": "scanner-primary", "fingerprint": "f989bbcbbd7d3db9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63789b8dc30fab71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_batch.ts:27"}, "properties": {"repobilityId": "4320eacda3f2e05a", "scanner": "scanner-primary", "fingerprint": "63789b8dc30fab71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d156e0fd8986a9bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_energy_shock_post_us.js:173"}, "properties": {"repobilityId": "570490076fedbd05", "scanner": "scanner-primary", "fingerprint": "d156e0fd8986a9bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-464cd7a5881cf035", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_elevenlabs_key.js:30"}, "properties": {"repobilityId": "b44d50f7fdf551df", "scanner": "scanner-primary", "fingerprint": "464cd7a5881cf035", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-925f4df2fe25c2fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/populate-emails.js:77"}, "properties": {"repobilityId": "4802767f0a8297fc", "scanner": "scanner-primary", "fingerprint": "925f4df2fe25c2fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb64529891b6b47c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_buttons.js:52"}, "properties": {"repobilityId": "c387432c9992ba18", "scanner": "scanner-primary", "fingerprint": "eb64529891b6b47c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-620bfcdd0017e496", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_button_position_fix.js:119"}, "properties": {"repobilityId": "f8faedb44257bfea", "scanner": "scanner-primary", "fingerprint": "620bfcdd0017e496", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9113d6e654fbac1b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_326_330.js:60"}, "properties": {"repobilityId": "649dfa7db38679e9", "scanner": "scanner-primary", "fingerprint": "9113d6e654fbac1b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1ea328563739b1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/manual_insert_newcastle_electricians.js:51"}, "properties": {"repobilityId": "53d43135c60eb1f2", "scanner": "scanner-primary", "fingerprint": "d1ea328563739b1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c506248d621aed3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_condensate_post.js:34"}, "properties": {"repobilityId": "f0a9a80a90584d50", "scanner": "scanner-primary", "fingerprint": "c506248d621aed3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d195ea2503c93806", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_total_supabase.js:17"}, "properties": {"repobilityId": "eb00b44a65570fe7", "scanner": "scanner-primary", "fingerprint": "d195ea2503c93806", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7caf57c4f9f1c09e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_86.js:50"}, "properties": {"repobilityId": "06d7ac893f91cc11", "scanner": "scanner-primary", "fingerprint": "7caf57c4f9f1c09e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04b6a5e0db56dac9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase10_trades.ts:52"}, "properties": {"repobilityId": "a6124fb1e8839364", "scanner": "scanner-primary", "fingerprint": "04b6a5e0db56dac9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78a58c8a5e67a79f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_91.js:50"}, "properties": {"repobilityId": "7c790bbdb4652097", "scanner": "scanner-primary", "fingerprint": "78a58c8a5e67a79f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e309a044409dbcb0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_346_350.js:60"}, "properties": {"repobilityId": "059b379593b8b0f7", "scanner": "scanner-primary", "fingerprint": "e309a044409dbcb0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4864a5c29d78ad5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/full_site_webp_conversion.js:32"}, "properties": {"repobilityId": "880828763b0327f2", "scanner": "scanner-primary", "fingerprint": "b4864a5c29d78ad5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-813b0285088a4150", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_insert.ts:15"}, "properties": {"repobilityId": "021f16dc5e9148e8", "scanner": "scanner-primary", "fingerprint": "813b0285088a4150", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d602fbbdd72a77c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_59.js:50"}, "properties": {"repobilityId": "6de1d0470ee4c746", "scanner": "scanner-primary", "fingerprint": "9d602fbbdd72a77c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-84a8bb8108889c0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.js:22"}, "properties": {"repobilityId": "e7d3366bb05589f1", "scanner": "scanner-primary", "fingerprint": "84a8bb8108889c0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40054b0e45286182", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post-v2.js:23"}, "properties": {"repobilityId": "8ec3614cdd367df7", "scanner": "scanner-primary", "fingerprint": "40054b0e45286182", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e521887516ba52c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_47.js:50"}, "properties": {"repobilityId": "384a5c94c5c9136a", "scanner": "scanner-primary", "fingerprint": "4e521887516ba52c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-988e466c1cd2b1ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day61_blogs.js:37"}, "properties": {"repobilityId": "da274b3d2a698e6f", "scanner": "scanner-primary", "fingerprint": "988e466c1cd2b1ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b3560adabaa7c10", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_yellowpages.ts:120"}, "properties": {"repobilityId": "fde21983d2c39575", "scanner": "scanner-primary", "fingerprint": "1b3560adabaa7c10", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f4bafaf9544cec1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_roof_leak.js:167"}, "properties": {"repobilityId": "cc7af9d97990fc82", "scanner": "scanner-primary", "fingerprint": "3f4bafaf9544cec1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1816ef631c6d2d3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_structural_guide.js:12"}, "properties": {"repobilityId": "e89d2e58253d722b", "scanner": "scanner-primary", "fingerprint": "1816ef631c6d2d3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3eb4b738093d3ecb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v2.js:10"}, "properties": {"repobilityId": "0542c35ded638430", "scanner": "scanner-primary", "fingerprint": "3eb4b738093d3ecb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94c74cf96e5287b1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_blog.js:15"}, "properties": {"repobilityId": "14a28b74bf15dca9", "scanner": "scanner-primary", "fingerprint": "94c74cf96e5287b1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2cd8b039b3c0f4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_36.js:50"}, "properties": {"repobilityId": "f945a23de020ff95", "scanner": "scanner-primary", "fingerprint": "e2cd8b039b3c0f4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12f6d691884deb8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase2_trades.ts:52"}, "properties": {"repobilityId": "48194c4b0497c8e5", "scanner": "scanner-primary", "fingerprint": "12f6d691884deb8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9f80353adeb719e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_256_260.js:60"}, "properties": {"repobilityId": "feb10f82e110511c", "scanner": "scanner-primary", "fingerprint": "f9f80353adeb719e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0be7d78afc1721f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_refrigerant_gb.js:24"}, "properties": {"repobilityId": "f5357920d298ddb5", "scanner": "scanner-primary", "fingerprint": "c0be7d78afc1721f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19cda9a63a033028", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_uk_phase12c.ts:9"}, "properties": {"repobilityId": "9f6871442ac1892a", "scanner": "scanner-primary", "fingerprint": "19cda9a63a033028", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62b3eec84eb2bfa9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_duplicates.js:9"}, "properties": {"repobilityId": "6004ba0577334814", "scanner": "scanner-primary", "fingerprint": "62b3eec84eb2bfa9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63118d7d2e3492d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_availability_db.ts:28"}, "properties": {"repobilityId": "c06d688d391b2fa3", "scanner": "scanner-primary", "fingerprint": "63118d7d2e3492d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20f038d16437bb26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_la_tow_trucks.js:13"}, "properties": {"repobilityId": "29b5eda8b2d887af", "scanner": "scanner-primary", "fingerprint": "20f038d16437bb26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01b478d42f29ffff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_image_spacing.js:28"}, "properties": {"repobilityId": "5fc6480918455bb9", "scanner": "scanner-primary", "fingerprint": "01b478d42f29ffff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0874ade6f433da1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_supabase.ts:22"}, "properties": {"repobilityId": "b85506f603b312a7", "scanner": "scanner-primary", "fingerprint": "0874ade6f433da1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d82b06715c2cb96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_rls_admin.js:26"}, "properties": {"repobilityId": "492a2e2d03fbd554", "scanner": "scanner-primary", "fingerprint": "8d82b06715c2cb96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d7daac1cee8eb03", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_poole.ts:18"}, "properties": {"repobilityId": "251b50c3fe1e0ae6", "scanner": "scanner-primary", "fingerprint": "3d7daac1cee8eb03", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87c2d8d1783235a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_65.js:50"}, "properties": {"repobilityId": "42b3c44763520cf7", "scanner": "scanner-primary", "fingerprint": "87c2d8d1783235a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cedeac0d2728a8cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_regional_misalignments.js:10"}, "properties": {"repobilityId": "26e615a4f4a83699", "scanner": "scanner-primary", "fingerprint": "cedeac0d2728a8cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa39e36286149b9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_13.js:91"}, "properties": {"repobilityId": "4525361e6b5f85d6", "scanner": "scanner-primary", "fingerprint": "aa39e36286149b9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5bb3cfbc681d18e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_load_posts.js:34"}, "properties": {"repobilityId": "1ccd29678224f90a", "scanner": "scanner-primary", "fingerprint": "5bb3cfbc681d18e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbd073432acd7473", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_151_155.js:60"}, "properties": {"repobilityId": "7557f35250728271", "scanner": "scanner-primary", "fingerprint": "bbd073432acd7473", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17f142de41412066", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase9_trades.ts:52"}, "properties": {"repobilityId": "2b94c7ce35284731", "scanner": "scanner-primary", "fingerprint": "17f142de41412066", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8254d7a38da1f9a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_blocked_drains.js:258"}, "properties": {"repobilityId": "1ebbd980b1420218", "scanner": "scanner-primary", "fingerprint": "8254d7a38da1f9a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6dc248979822ff6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_176_180.js:60"}, "properties": {"repobilityId": "340a47b811f637b3", "scanner": "scanner-primary", "fingerprint": "6dc248979822ff6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed6f3f8a8b179fd5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_2a_images.js:32"}, "properties": {"repobilityId": "258c2704a9e84c4e", "scanner": "scanner-primary", "fingerprint": "ed6f3f8a8b179fd5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97d33b6c8f9dc812", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_pillar_pages.js:44"}, "properties": {"repobilityId": "e5faf6ed70c2d03d", "scanner": "scanner-primary", "fingerprint": "97d33b6c8f9dc812", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-363aaf89b3a6090b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_verification.ts:13"}, "properties": {"repobilityId": "d08dba9af0f85b28", "scanner": "scanner-primary", "fingerprint": "363aaf89b3a6090b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-178c9807bbe3e105", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_usa_paths.js:10"}, "properties": {"repobilityId": "1ba93ed65f6ff6aa", "scanner": "scanner-primary", "fingerprint": "178c9807bbe3e105", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38b5d8d4f4a77bc5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_legal_emergency_guides.js:13"}, "properties": {"repobilityId": "6a3397c317a2ea49", "scanner": "scanner-primary", "fingerprint": "38b5d8d4f4a77bc5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec324c6140367444", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_31.js:50"}, "properties": {"repobilityId": "a52f362592df821f", "scanner": "scanner-primary", "fingerprint": "ec324c6140367444", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da98953e0fbbd651", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_spring_thaw_seo.js:156"}, "properties": {"repobilityId": "bd666fef93fc26d9", "scanner": "scanner-primary", "fingerprint": "da98953e0fbbd651", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de0a14d938772f70", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_fair_price_posts.js:21"}, "properties": {"repobilityId": "1ecc83faf404a039", "scanner": "scanner-primary", "fingerprint": "de0a14d938772f70", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f0e399894e8cac0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_mega_batch_duplicates.js:77"}, "properties": {"repobilityId": "14b75f44e6c405ea", "scanner": "scanner-primary", "fingerprint": "6f0e399894e8cac0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5cd8549f8c180c47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_206_210.js:60"}, "properties": {"repobilityId": "c00153b96446fbb7", "scanner": "scanner-primary", "fingerprint": "5cd8549f8c180c47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed419367de65070f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering_fixed.js:10"}, "properties": {"repobilityId": "c0910fbb37541401", "scanner": "scanner-primary", "fingerprint": "ed419367de65070f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c50173636122fa95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_unique_mapping.js:9"}, "properties": {"repobilityId": "96ab31eb8582c48d", "scanner": "scanner-primary", "fingerprint": "c50173636122fa95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e0a3ee66a56696b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_hvac_guides.js:13"}, "properties": {"repobilityId": "cab6d6e04f21527f", "scanner": "scanner-primary", "fingerprint": "2e0a3ee66a56696b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-705d5f0d1d231104", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_titles.js:20"}, "properties": {"repobilityId": "d7c591e5d532af6c", "scanner": "scanner-primary", "fingerprint": "705d5f0d1d231104", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d99e20884b4e054", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_97.js:50"}, "properties": {"repobilityId": "5b70922ac296fc3c", "scanner": "scanner-primary", "fingerprint": "3d99e20884b4e054", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-babf968bebdd1fcf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_9.ts:90"}, "properties": {"repobilityId": "06423d614d6502f0", "scanner": "scanner-primary", "fingerprint": "babf968bebdd1fcf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1ff5aad091e4978", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_current_blog_images.js:15"}, "properties": {"repobilityId": "f15c64f4647bf203", "scanner": "scanner-primary", "fingerprint": "e1ff5aad091e4978", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5dc3fa591904af6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_elements.js:98"}, "properties": {"repobilityId": "1bd4201628bc3438", "scanner": "scanner-primary", "fingerprint": "5dc3fa591904af6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d0d6466a2a6010d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-blocked-drains.js:116"}, "properties": {"repobilityId": "81d28b21f3790291", "scanner": "scanner-primary", "fingerprint": "8d0d6466a2a6010d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-beb6c9ba8a5065df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_azure_key.js:8"}, "properties": {"repobilityId": "d976b8377cde6dbb", "scanner": "scanner-primary", "fingerprint": "beb6c9ba8a5065df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-64bfe50098a5a844", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_100.js:50"}, "properties": {"repobilityId": "4e625bf9371ffaf7", "scanner": "scanner-primary", "fingerprint": "64bfe50098a5a844", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb4383e8a07e3f76", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_profile_images.js:13"}, "properties": {"repobilityId": "7bba7840e84af140", "scanner": "scanner-primary", "fingerprint": "eb4383e8a07e3f76", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3fc17e86cf7ed3a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_all_blog_images.js:13"}, "properties": {"repobilityId": "9168aaa83e2a72a8", "scanner": "scanner-primary", "fingerprint": "3fc17e86cf7ed3a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8383f99a1b670a05", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase14_batch1.ts:72"}, "properties": {"repobilityId": "f116fdc0acb552cd", "scanner": "scanner-primary", "fingerprint": "8383f99a1b670a05", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfb42c4fbf325c4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_refrigerant_gb_hero.js:39"}, "properties": {"repobilityId": "c22c00ee34a72240", "scanner": "scanner-primary", "fingerprint": "bfb42c4fbf325c4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46edd0bc83b12944", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db.js:24"}, "properties": {"repobilityId": "bebd395859456ec0", "scanner": "scanner-primary", "fingerprint": "46edd0bc83b12944", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d71f0c1fc406116f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/integrate_authority_links.js:191"}, "properties": {"repobilityId": "2f3c3d2351df6011", "scanner": "scanner-primary", "fingerprint": "d71f0c1fc406116f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57c2a6ad1a045275", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_posts.js:10"}, "properties": {"repobilityId": "c6048dc2d5a9a3a3", "scanner": "scanner-primary", "fingerprint": "57c2a6ad1a045275", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-efe71e3ee92833be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_index.js:24"}, "properties": {"repobilityId": "3866944f08872d1b", "scanner": "scanner-primary", "fingerprint": "efe71e3ee92833be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0ed72cf80bdbb89", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_3.ts:90"}, "properties": {"repobilityId": "2b649d6b851009bf", "scanner": "scanner-primary", "fingerprint": "e0ed72cf80bdbb89", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a53d933afff42bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_mould_blogs.js:65"}, "properties": {"repobilityId": "9a5eafe51603c656", "scanner": "scanner-primary", "fingerprint": "4a53d933afff42bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c8adae9843a73bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_shutoff_guides.js:13"}, "properties": {"repobilityId": "b74b62169d1c4cc8", "scanner": "scanner-primary", "fingerprint": "8c8adae9843a73bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4eda78b3462b94fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_links.js:135"}, "properties": {"repobilityId": "5c1f0e4d883a86ad", "scanner": "scanner-primary", "fingerprint": "4eda78b3462b94fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-763d2b86c3ec36b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_uk_phase12c.ts:25"}, "properties": {"repobilityId": "b17e5e90d462743f", "scanner": "scanner-primary", "fingerprint": "763d2b86c3ec36b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd11dac29531f8c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/emergency_image_fix.js:119"}, "properties": {"repobilityId": "fd77a5eaaa999a78", "scanner": "scanner-primary", "fingerprint": "bd11dac29531f8c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1717d67ec9e2ab9b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/show_current_blog_state.js:15"}, "properties": {"repobilityId": "d45d8551b8aa5783", "scanner": "scanner-primary", "fingerprint": "1717d67ec9e2ab9b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2174bf90486d34f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_35.js:50"}, "properties": {"repobilityId": "018774a9e4deaea9", "scanner": "scanner-primary", "fingerprint": "2174bf90486d34f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f5faa5878a0bda64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_models.js:18"}, "properties": {"repobilityId": "01c68c9ce1e9f025", "scanner": "scanner-primary", "fingerprint": "f5faa5878a0bda64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc4749e2009c87ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_energy_shock_images.js:12"}, "properties": {"repobilityId": "0e723138b85d83bb", "scanner": "scanner-primary", "fingerprint": "cc4749e2009c87ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad4bc04ebf8d2ca1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch.ts:78"}, "properties": {"repobilityId": "8d21eedf942463cf", "scanner": "scanner-primary", "fingerprint": "ad4bc04ebf8d2ca1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-25b6f3046b080597", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_antisnap_blog_us.js:127"}, "properties": {"repobilityId": "dfa4279479d86f34", "scanner": "scanner-primary", "fingerprint": "25b6f3046b080597", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ea0a45a03720d32", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_296_300.js:60"}, "properties": {"repobilityId": "95c30c0224d1c02c", "scanner": "scanner-primary", "fingerprint": "6ea0a45a03720d32", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cb0dde1980d83fdf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_8.js:50"}, "properties": {"repobilityId": "202957047937c444", "scanner": "scanner-primary", "fingerprint": "cb0dde1980d83fdf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ccca278a021c352", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_distribution.ts:14"}, "properties": {"repobilityId": "9fd6aa0f81bfc0a3", "scanner": "scanner-primary", "fingerprint": "9ccca278a021c352", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f698dc9a04204ea1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_data.ts:66"}, "properties": {"repobilityId": "522d8efa61402ff5", "scanner": "scanner-primary", "fingerprint": "f698dc9a04204ea1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04077c42925432e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_436_440.js:60"}, "properties": {"repobilityId": "4601838d7df5514b", "scanner": "scanner-primary", "fingerprint": "04077c42925432e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8c1a8f0cdfd87f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_us_count.js:26"}, "properties": {"repobilityId": "b9497c71eedeeea8", "scanner": "scanner-primary", "fingerprint": "a8c1a8f0cdfd87f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-866a325de8fd9334", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_221_225.js:60"}, "properties": {"repobilityId": "bbd1d2dcf3ded073", "scanner": "scanner-primary", "fingerprint": "866a325de8fd9334", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04c2edf99675742b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_birmingham_trades.ts:52"}, "properties": {"repobilityId": "e87414a5c0d66895", "scanner": "scanner-primary", "fingerprint": "04c2edf99675742b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ccaa9e70b32496c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inspect_blog_content.js:9"}, "properties": {"repobilityId": "afd2ea8fcc5d7bf6", "scanner": "scanner-primary", "fingerprint": "8ccaa9e70b32496c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a691207d6f2004e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_water.js:177"}, "properties": {"repobilityId": "06fe551cce62aac5", "scanner": "scanner-primary", "fingerprint": "a691207d6f2004e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52cc32c37059ed4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_411_415.js:60"}, "properties": {"repobilityId": "3169d8bb3ae7c79d", "scanner": "scanner-primary", "fingerprint": "52cc32c37059ed4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72042a22872b0f2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog_us.js:19"}, "properties": {"repobilityId": "0e77754789409327", "scanner": "scanner-primary", "fingerprint": "72042a22872b0f2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12dc3c3ad10e3e95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_luton_query.ts:18"}, "properties": {"repobilityId": "e22dcaac7fac0cc4", "scanner": "scanner-primary", "fingerprint": "12dc3c3ad10e3e95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e606a548f056a61c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_101.js:50"}, "properties": {"repobilityId": "f35306c3df625e67", "scanner": "scanner-primary", "fingerprint": "e606a548f056a61c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ebba8a27efc1a88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_85.js:50"}, "properties": {"repobilityId": "58702a1cc2151ae9", "scanner": "scanner-primary", "fingerprint": "2ebba8a27efc1a88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9277c00c0bf0f1b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_306_310.js:60"}, "properties": {"repobilityId": "a415da905ba62b0b", "scanner": "scanner-primary", "fingerprint": "c9277c00c0bf0f1b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45f15a19275150c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_161_165.js:60"}, "properties": {"repobilityId": "c01b30c6508ff9be", "scanner": "scanner-primary", "fingerprint": "45f15a19275150c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0fd4795d2f007df3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_all_slugs.js:20"}, "properties": {"repobilityId": "1ed5d3192002d12a", "scanner": "scanner-primary", "fingerprint": "0fd4795d2f007df3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1370d81a1f3f962f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_5.ts:90"}, "properties": {"repobilityId": "a78f48055857431f", "scanner": "scanner-primary", "fingerprint": "1370d81a1f3f962f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7531fa7bd2045413", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_cleanup_regional_posts.js:10"}, "properties": {"repobilityId": "e9aceaeca946321d", "scanner": "scanner-primary", "fingerprint": "7531fa7bd2045413", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9daa16416f14ae1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verified_manual_orchestrator_us.js:23"}, "properties": {"repobilityId": "b7c956a5973f0f09", "scanner": "scanner-primary", "fingerprint": "a9daa16416f14ae1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb4c533a0d1b0dfe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_db_headers.js:43"}, "properties": {"repobilityId": "78d970e97066e293", "scanner": "scanner-primary", "fingerprint": "eb4c533a0d1b0dfe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2d5375e164ab2d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_trade_dist.ts:18"}, "properties": {"repobilityId": "cec25b913dd469be", "scanner": "scanner-primary", "fingerprint": "e2d5375e164ab2d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-745885b4dfe702ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_listing_report.ts:18"}, "properties": {"repobilityId": "05f10fe8e9eba7af", "scanner": "scanner-primary", "fingerprint": "745885b4dfe702ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1eac80f628320447", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/make-premium.js:23"}, "properties": {"repobilityId": "df9521453a02d14a", "scanner": "scanner-primary", "fingerprint": "1eac80f628320447", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a24b0e77df2150f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_4.js:50"}, "properties": {"repobilityId": "6301e1b05a4bbf9a", "scanner": "scanner-primary", "fingerprint": "a24b0e77df2150f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-703ca93cf22426bc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_71.js:50"}, "properties": {"repobilityId": "0dc85a9b2a1d7af5", "scanner": "scanner-primary", "fingerprint": "703ca93cf22426bc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45b4384a2e3b84ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_update.js:22"}, "properties": {"repobilityId": "3e6c6f3f9e17c7dc", "scanner": "scanner-primary", "fingerprint": "45b4384a2e3b84ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2920f07e896a8f7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_37.js:50"}, "properties": {"repobilityId": "4f8ea81085957969", "scanner": "scanner-primary", "fingerprint": "2920f07e896a8f7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-348265e01f66f0f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_candidate_key.js:9"}, "properties": {"repobilityId": "2ae80324ae2f1ec1", "scanner": "scanner-primary", "fingerprint": "348265e01f66f0f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7d7e00f879f5b08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_solar_blogs.js:31"}, "properties": {"repobilityId": "86c5f6d44ec23861", "scanner": "scanner-primary", "fingerprint": "b7d7e00f879f5b08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa5b836b779e8ce4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_water_guides.js:13"}, "properties": {"repobilityId": "b5def1051f043e85", "scanner": "scanner-primary", "fingerprint": "aa5b836b779e8ce4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e300869b79bbe4c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_fuse_box_blog.js:159"}, "properties": {"repobilityId": "88b7e81ca39b43d3", "scanner": "scanner-primary", "fingerprint": "e300869b79bbe4c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b87db328a4cca388", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase6_trades.ts:52"}, "properties": {"repobilityId": "949888cbe88f66da", "scanner": "scanner-primary", "fingerprint": "b87db328a4cca388", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8bb72aa0e35de20e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_london_extra.ts:17"}, "properties": {"repobilityId": "3c7a961613777912", "scanner": "scanner-primary", "fingerprint": "8bb72aa0e35de20e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2dd4491fc18ede09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_blog_content.js:13"}, "properties": {"repobilityId": "2d34579244c456ba", "scanner": "scanner-primary", "fingerprint": "2dd4491fc18ede09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2050b894ff381629", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_7.ts:90"}, "properties": {"repobilityId": "1fa206aaf9359032", "scanner": "scanner-primary", "fingerprint": "2050b894ff381629", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c27fb88f65bbb9c8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_spring_thaw_xsense.js:14"}, "properties": {"repobilityId": "8384825892889d95", "scanner": "scanner-primary", "fingerprint": "c27fb88f65bbb9c8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3604d837abcc8997", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_32.js:50"}, "properties": {"repobilityId": "6a62d738516f71af", "scanner": "scanner-primary", "fingerprint": "3604d837abcc8997", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6e8503b689308a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_duplicate_images.js:9"}, "properties": {"repobilityId": "4af57acc762a6b99", "scanner": "scanner-primary", "fingerprint": "c6e8503b689308a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d7e29b9492c74f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_136_140.js:60"}, "properties": {"repobilityId": "897ed74809bcc6ff", "scanner": "scanner-primary", "fingerprint": "2d7e29b9492c74f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf4774f5b67a44d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic_runner.js:25"}, "properties": {"repobilityId": "a943daaac0a8f249", "scanner": "scanner-primary", "fingerprint": "bf4774f5b67a44d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec4177b0b070ab17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_verified_uk.js:27"}, "properties": {"repobilityId": "2b358b66cf535c7c", "scanner": "scanner-primary", "fingerprint": "ec4177b0b070ab17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6c00ab883498f22", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_businesses.js:22"}, "properties": {"repobilityId": "8d23a27d10d6a5fb", "scanner": "scanner-primary", "fingerprint": "b6c00ab883498f22", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6fad9bba916b6a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_insert_auth.ts:19"}, "properties": {"repobilityId": "bb7373c552786b9c", "scanner": "scanner-primary", "fingerprint": "c6fad9bba916b6a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40c49da559f496b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_hero.js:39"}, "properties": {"repobilityId": "10129590473fe32d", "scanner": "scanner-primary", "fingerprint": "40c49da559f496b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d92c0cf2f46960e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_93.js:50"}, "properties": {"repobilityId": "1b09c0497a79abf9", "scanner": "scanner-primary", "fingerprint": "d92c0cf2f46960e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-afbc3386c4f17cd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup_secrets.js:43"}, "properties": {"repobilityId": "5fe508b8dc08b0bb", "scanner": "scanner-primary", "fingerprint": "afbc3386c4f17cd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50263b55cd27bf16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_396_400.js:60"}, "properties": {"repobilityId": "e352ac6dff1a9829", "scanner": "scanner-primary", "fingerprint": "50263b55cd27bf16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-58c015eff9579759", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine_blog_seo.js:20"}, "properties": {"repobilityId": "1f8cc5489e405cab", "scanner": "scanner-primary", "fingerprint": "58c015eff9579759", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a7a65ac7bb69a51", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-locksmith-paths.js:19"}, "properties": {"repobilityId": "7a553c88250d04c1", "scanner": "scanner-primary", "fingerprint": "8a7a65ac7bb69a51", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d77ac1a1b46f02a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-blog-migration.js:23"}, "properties": {"repobilityId": "5bd7b3b8217ed627", "scanner": "scanner-primary", "fingerprint": "8d77ac1a1b46f02a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3a37c42e7ef5724", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-storage.js:17"}, "properties": {"repobilityId": "89e81b890041b5b2", "scanner": "scanner-primary", "fingerprint": "b3a37c42e7ef5724", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0bdb9ab73d326aa7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_dallas.ts:99"}, "properties": {"repobilityId": "83372eb0ded3149a", "scanner": "scanner-primary", "fingerprint": "0bdb9ab73d326aa7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-242ac34acea7e77a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_webp_supabase_v2.js:53"}, "properties": {"repobilityId": "a1e2e70ce94f5d97", "scanner": "scanner-primary", "fingerprint": "242ac34acea7e77a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4c6315c387ae0a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_43.js:50"}, "properties": {"repobilityId": "d529cc3dd043c70f", "scanner": "scanner-primary", "fingerprint": "b4c6315c387ae0a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ca47fb2d0b78ca90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_html_wrapper.js:24"}, "properties": {"repobilityId": "152588e346f58483", "scanner": "scanner-primary", "fingerprint": "ca47fb2d0b78ca90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe33f42eeb28bc9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync_listings.ts:78"}, "properties": {"repobilityId": "94bcb49cfc957735", "scanner": "scanner-primary", "fingerprint": "fe33f42eeb28bc9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7fa1964790a4a0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_lancaster.ts:20"}, "properties": {"repobilityId": "7fb41d44c902740e", "scanner": "scanner-primary", "fingerprint": "b7fa1964790a4a0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ef8120bd8c850bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_81.js:50"}, "properties": {"repobilityId": "81c39999d8b32a63", "scanner": "scanner-primary", "fingerprint": "0ef8120bd8c850bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1bfc83fd6d74430e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_105_110.js:66"}, "properties": {"repobilityId": "21c3b6af75ab3ca4", "scanner": "scanner-primary", "fingerprint": "1bfc83fd6d74430e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ab134919ab0f96fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_links.js:106"}, "properties": {"repobilityId": "5c164aab24013c48", "scanner": "scanner-primary", "fingerprint": "ab134919ab0f96fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0fcf1b12555c1c7c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_tables.ts:18"}, "properties": {"repobilityId": "1cd39677f7700a82", "scanner": "scanner-primary", "fingerprint": "0fcf1b12555c1c7c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-acd3f6c65be8dbfc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_12.js:50"}, "properties": {"repobilityId": "9a07ab47fc19321c", "scanner": "scanner-primary", "fingerprint": "acd3f6c65be8dbfc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89908d47d7000b1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_roof_guides.js:13"}, "properties": {"repobilityId": "3ebbe7922fdaf552", "scanner": "scanner-primary", "fingerprint": "89908d47d7000b1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee7e081b0b905774", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_restoration.ts:17"}, "properties": {"repobilityId": "87028661b1da6e9b", "scanner": "scanner-primary", "fingerprint": "ee7e081b0b905774", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed5efad1c465b2c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_416_420.js:60"}, "properties": {"repobilityId": "669a08cb0756190d", "scanner": "scanner-primary", "fingerprint": "ed5efad1c465b2c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-458e456987395bfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_deduplication.js:10"}, "properties": {"repobilityId": "e2b703be042f48d7", "scanner": "scanner-primary", "fingerprint": "458e456987395bfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1777b4c2daba817d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regionalized_blog.js:127"}, "properties": {"repobilityId": "aceca1c2ce128da6", "scanner": "scanner-primary", "fingerprint": "1777b4c2daba817d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ded5913c96c7ac8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_voice_id.js:33"}, "properties": {"repobilityId": "a895a06801411ebb", "scanner": "scanner-primary", "fingerprint": "6ded5913c96c7ac8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9d2309b214e1d58", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_uk_progress.ts:21"}, "properties": {"repobilityId": "f15bd5fb3fffe1a2", "scanner": "scanner-primary", "fingerprint": "a9d2309b214e1d58", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f4b4b9a6cab8d85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_96.js:50"}, "properties": {"repobilityId": "d4268e799d9c9d01", "scanner": "scanner-primary", "fingerprint": "1f4b4b9a6cab8d85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52149d32c37a82a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_placeholders.js:17"}, "properties": {"repobilityId": "8003b3c1c8e00311", "scanner": "scanner-primary", "fingerprint": "52149d32c37a82a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d683d735fa04ce1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_27.js:50"}, "properties": {"repobilityId": "58de4f85867c8216", "scanner": "scanner-primary", "fingerprint": "4d683d735fa04ce1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-16b9201dd6a47a67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_261_265.js:60"}, "properties": {"repobilityId": "6f5aa03e93d4e072", "scanner": "scanner-primary", "fingerprint": "16b9201dd6a47a67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd4450d761a3f061", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_add_texas_florida_roofers.js:43"}, "properties": {"repobilityId": "0a0f2343ef1f1f4c", "scanner": "scanner-primary", "fingerprint": "dd4450d761a3f061", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a462aaaba4ac1c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_38.js:50"}, "properties": {"repobilityId": "3ad91731008169b4", "scanner": "scanner-primary", "fingerprint": "3a462aaaba4ac1c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86304840641f10f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_45.js:50"}, "properties": {"repobilityId": "377de6e867557dea", "scanner": "scanner-primary", "fingerprint": "86304840641f10f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-153cc2a153fde420", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_64.js:50"}, "properties": {"repobilityId": "04a8b3d667e5e050", "scanner": "scanner-primary", "fingerprint": "153cc2a153fde420", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bda50c39b9d2a453", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_92.js:50"}, "properties": {"repobilityId": "851169c302d73adf", "scanner": "scanner-primary", "fingerprint": "bda50c39b9d2a453", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e67b361f985ea263", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_74.js:50"}, "properties": {"repobilityId": "c22b73dc302cd526", "scanner": "scanner-primary", "fingerprint": "e67b361f985ea263", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e706668b446c8c1d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/enrich-postcodes.js:230"}, "properties": {"repobilityId": "0486556f8130d7d9", "scanner": "scanner-primary", "fingerprint": "e706668b446c8c1d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-390b1f2df88217dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_aberdeen_water.ts:18"}, "properties": {"repobilityId": "e25f55d95817fe2f", "scanner": "scanner-primary", "fingerprint": "390b1f2df88217dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29982962f64ac191", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_44.js:50"}, "properties": {"repobilityId": "123caaed2f672777", "scanner": "scanner-primary", "fingerprint": "29982962f64ac191", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9bb57ccfa339e09c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_expansion_v1.js:14"}, "properties": {"repobilityId": "49411a4d9a874128", "scanner": "scanner-primary", "fingerprint": "9bb57ccfa339e09c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-880c4dc0a7d6cb5c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_phoenix_seattle_tow.js:29"}, "properties": {"repobilityId": "808fd44b10eabc81", "scanner": "scanner-primary", "fingerprint": "880c4dc0a7d6cb5c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0fc4bea2d52a90d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-secrets.js:19"}, "properties": {"repobilityId": "ba576f6c5cd51d30", "scanner": "scanner-primary", "fingerprint": "d0fc4bea2d52a90d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ef89f9c5e2f53f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_211_215.js:60"}, "properties": {"repobilityId": "19c1af4f23deba95", "scanner": "scanner-primary", "fingerprint": "0ef89f9c5e2f53f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-310d9eef7c5a88a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post_direct.js:22"}, "properties": {"repobilityId": "7798c29f0dee024a", "scanner": "scanner-primary", "fingerprint": "310d9eef7c5a88a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18f3280c6ca8e5fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_5.js:50"}, "properties": {"repobilityId": "135286d92786de45", "scanner": "scanner-primary", "fingerprint": "18f3280c6ca8e5fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb9a1ff6b288aac4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_rls_policy.js:11"}, "properties": {"repobilityId": "ba70d85ab3ae1cdb", "scanner": "scanner-primary", "fingerprint": "fb9a1ff6b288aac4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-beab7c478d56d840", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_57.js:50"}, "properties": {"repobilityId": "138a8ad1155a0729", "scanner": "scanner-primary", "fingerprint": "beab7c478d56d840", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9cc225cddc53c77a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_regional_duplicates.js:34"}, "properties": {"repobilityId": "c8e35de86d07a86f", "scanner": "scanner-primary", "fingerprint": "9cc225cddc53c77a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9233ba1cdaeb0b69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_migration.js:14"}, "properties": {"repobilityId": "3211f0e69829596f", "scanner": "scanner-primary", "fingerprint": "9233ba1cdaeb0b69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ab6f86c7592315a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_locksmith_blog_images.js:112"}, "properties": {"repobilityId": "4d17eb6f4c49c93b", "scanner": "scanner-primary", "fingerprint": "ab6f86c7592315a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d405ac7d7512f7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_toc_faq_regulatory.js:150"}, "properties": {"repobilityId": "2eb79e6e91d9e85e", "scanner": "scanner-primary", "fingerprint": "3d405ac7d7512f7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-649fe31307fc3668", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_hvac_batch2.ts:38"}, "properties": {"repobilityId": "d13b44c7ce57a953", "scanner": "scanner-primary", "fingerprint": "649fe31307fc3668", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3ca3743424e07fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_costway_image.js:42"}, "properties": {"repobilityId": "7413704272b3c632", "scanner": "scanner-primary", "fingerprint": "d3ca3743424e07fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9322c124eafae451", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_knowledge_base.ts:52"}, "properties": {"repobilityId": "c3e26b2c64c772e7", "scanner": "scanner-primary", "fingerprint": "9322c124eafae451", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebb027384cdc1776", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_plumber_infinite.js:246"}, "properties": {"repobilityId": "77cc6fa444ac5f0d", "scanner": "scanner-primary", "fingerprint": "ebb027384cdc1776", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49304b062bc87d4d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_user_profile.ts:14"}, "properties": {"repobilityId": "e57bcd8235200367", "scanner": "scanner-primary", "fingerprint": "49304b062bc87d4d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c939f8a69c8425bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_90.js:50"}, "properties": {"repobilityId": "4aea5a03c05190cc", "scanner": "scanner-primary", "fingerprint": "c939f8a69c8425bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8aa6906e86bebac5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_smart_leak_us_hero.js:39"}, "properties": {"repobilityId": "a1bdcb346ce4910e", "scanner": "scanner-primary", "fingerprint": "8aa6906e86bebac5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44b88b9fdeb33540", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_city_postcodes.js:13"}, "properties": {"repobilityId": "ecd5e33388cb3194", "scanner": "scanner-primary", "fingerprint": "44b88b9fdeb33540", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-419146866efd474a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch4.ts:21"}, "properties": {"repobilityId": "47b9d4682ab226be", "scanner": "scanner-primary", "fingerprint": "419146866efd474a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6015cab35ee1e8cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase12_import.ts:31"}, "properties": {"repobilityId": "5847eb746cb5a0c5", "scanner": "scanner-primary", "fingerprint": "6015cab35ee1e8cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fda5c6fbf1a2de5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_all_usa.ts:30"}, "properties": {"repobilityId": "bcdb7c39b0da857a", "scanner": "scanner-primary", "fingerprint": "fda5c6fbf1a2de5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da8c644a023f9007", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_336_340.js:60"}, "properties": {"repobilityId": "7f31b0d9c753e014", "scanner": "scanner-primary", "fingerprint": "da8c644a023f9007", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-efbcefd496a8b1d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_duplicates.js:41"}, "properties": {"repobilityId": "9efb8cfec5d26625", "scanner": "scanner-primary", "fingerprint": "efbcefd496a8b1d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a4ba745948d6e64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_manual_business.ts:43"}, "properties": {"repobilityId": "34565db92f1d153a", "scanner": "scanner-primary", "fingerprint": "6a4ba745948d6e64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b49c0d395965e20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_public_access.js:10"}, "properties": {"repobilityId": "96626e204ed099a5", "scanner": "scanner-primary", "fingerprint": "3b49c0d395965e20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d787d71f0e15025", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_status.js:24"}, "properties": {"repobilityId": "155c60a7e2f538f3", "scanner": "scanner-primary", "fingerprint": "0d787d71f0e15025", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-21388089b22fd921", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_scrub_db_uk.js:24"}, "properties": {"repobilityId": "f74858114200763b", "scanner": "scanner-primary", "fingerprint": "21388089b22fd921", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c30e6a763cdaf41", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_426_430.js:60"}, "properties": {"repobilityId": "dee73d71c2f6914e", "scanner": "scanner-primary", "fingerprint": "5c30e6a763cdaf41", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19d6e46f06ac9598", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_audit_reports.js:12"}, "properties": {"repobilityId": "17ca063084c05cb1", "scanner": "scanner-primary", "fingerprint": "19d6e46f06ac9598", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcaf542720c8750a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_webp.js:47"}, "properties": {"repobilityId": "59caf9506ebf9394", "scanner": "scanner-primary", "fingerprint": "dcaf542720c8750a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebef57c51230d17d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_104.js:50"}, "properties": {"repobilityId": "8075a67d6891e793", "scanner": "scanner-primary", "fingerprint": "ebef57c51230d17d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6f9116c0a3acbcd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_68.js:50"}, "properties": {"repobilityId": "037c1f87a7ee9a54", "scanner": "scanner-primary", "fingerprint": "b6f9116c0a3acbcd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-851f4e278963234b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_15.js:72"}, "properties": {"repobilityId": "ef775a54d346ea13", "scanner": "scanner-primary", "fingerprint": "851f4e278963234b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29b32f0d9fcf97b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day37_glazing_blog.js:39"}, "properties": {"repobilityId": "861e895b0513ec57", "scanner": "scanner-primary", "fingerprint": "29b32f0d9fcf97b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdbfef1baa560a28", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_uk_images.js:28"}, "properties": {"repobilityId": "b8771eb28cf9923d", "scanner": "scanner-primary", "fingerprint": "cdbfef1baa560a28", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-540a6bd475b10cc5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-5-signs-plumber_v2.js:25"}, "properties": {"repobilityId": "10609f4275a3e244", "scanner": "scanner-primary", "fingerprint": "540a6bd475b10cc5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f941d7c69e5fee4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_city_filter.ts:23"}, "properties": {"repobilityId": "f23fbbd1561b90f8", "scanner": "scanner-primary", "fingerprint": "1f941d7c69e5fee4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e5cc76d175e8d12d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_batch_98_slugs_ids.js:41"}, "properties": {"repobilityId": "2a031555ab909519", "scanner": "scanner-primary", "fingerprint": "e5cc76d175e8d12d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ccad5e47cdb71f09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/optimize_microplastic_images.js:12"}, "properties": {"repobilityId": "d42a82b4a28e269c", "scanner": "scanner-primary", "fingerprint": "ccad5e47cdb71f09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ee5a5cd9849ba83", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_images.js:35"}, "properties": {"repobilityId": "ec63d8b34b891511", "scanner": "scanner-primary", "fingerprint": "5ee5a5cd9849ba83", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56c0dca46793afcd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_duplicate_image.js:24"}, "properties": {"repobilityId": "a492c8b94e2a89de", "scanner": "scanner-primary", "fingerprint": "56c0dca46793afcd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48af999bca9346a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_70.js:50"}, "properties": {"repobilityId": "d010a100814ce456", "scanner": "scanner-primary", "fingerprint": "48af999bca9346a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a656f984a0cc6cdf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_slugs.js:20"}, "properties": {"repobilityId": "e696a2e702a4f920", "scanner": "scanner-primary", "fingerprint": "a656f984a0cc6cdf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57ce095d54e487e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_all_cities.js:151"}, "properties": {"repobilityId": "6e8b3922fa58adce", "scanner": "scanner-primary", "fingerprint": "57ce095d54e487e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d504cc2106593199", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_21.js:50"}, "properties": {"repobilityId": "1e17257a512be351", "scanner": "scanner-primary", "fingerprint": "d504cc2106593199", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81c8c5b8731f3b16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicates.js:25"}, "properties": {"repobilityId": "7476c5ba3bf960e3", "scanner": "scanner-primary", "fingerprint": "81c8c5b8731f3b16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8dcde0ab775ac7e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_posts_batch1.js:640"}, "properties": {"repobilityId": "82c5a3adc93e848e", "scanner": "scanner-primary", "fingerprint": "8dcde0ab775ac7e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0818d204839fc3c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-service-role-secret.js:11"}, "properties": {"repobilityId": "9f939ef48b8617a7", "scanner": "scanner-primary", "fingerprint": "0818d204839fc3c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c250117457d44a92", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_id_gen.js:16"}, "properties": {"repobilityId": "d40f4fb1fdd66195", "scanner": "scanner-primary", "fingerprint": "c250117457d44a92", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2539ad493b4d10b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_seo.js:44"}, "properties": {"repobilityId": "ad38e54493e9cda3", "scanner": "scanner-primary", "fingerprint": "2539ad493b4d10b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ecc1413d6c42a1b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_all_blogs.js:48"}, "properties": {"repobilityId": "1414a7c77889b75f", "scanner": "scanner-primary", "fingerprint": "ecc1413d6c42a1b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49fc7ecaeda58cf3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_water_leak_blog.js:128"}, "properties": {"repobilityId": "51cd15ee179518b1", "scanner": "scanner-primary", "fingerprint": "49fc7ecaeda58cf3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f381cec16c541bdc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_water_restoration.ts:25"}, "properties": {"repobilityId": "023f64c111b3080d", "scanner": "scanner-primary", "fingerprint": "f381cec16c541bdc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11bc5256d5d9e5ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_ghost_costway.js:39"}, "properties": {"repobilityId": "22e7221fab6c2123", "scanner": "scanner-primary", "fingerprint": "11bc5256d5d9e5ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a60f362d1e5a93d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_glossary_post.js:37"}, "properties": {"repobilityId": "f57a1498a8543876", "scanner": "scanner-primary", "fingerprint": "a60f362d1e5a93d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7810109077c71d08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_images.js:21"}, "properties": {"repobilityId": "ed1df30fd5e9abe8", "scanner": "scanner-primary", "fingerprint": "7810109077c71d08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93fa5da368ae28bc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_city_names.ts:19"}, "properties": {"repobilityId": "a3f9e1e229818ce3", "scanner": "scanner-primary", "fingerprint": "93fa5da368ae28bc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9840d703816cd86c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze_uk_gaps.js:47"}, "properties": {"repobilityId": "f00960c1b8dc948a", "scanner": "scanner-primary", "fingerprint": "9840d703816cd86c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8cfc81008a4b9b65", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/swap_us_images.js:12"}, "properties": {"repobilityId": "f385f7706dfbe52b", "scanner": "scanner-primary", "fingerprint": "8cfc81008a4b9b65", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d26ae80a5743c6d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose_rls.ts:14"}, "properties": {"repobilityId": "399d5bacf229cf7a", "scanner": "scanner-primary", "fingerprint": "d26ae80a5743c6d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ce020b211bda562", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_nyc.ts:86"}, "properties": {"repobilityId": "18eeaa1aa2651848", "scanner": "scanner-primary", "fingerprint": "8ce020b211bda562", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-64cb8f7252124a28", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_22.js:50"}, "properties": {"repobilityId": "515e70d7cc6b101e", "scanner": "scanner-primary", "fingerprint": "64cb8f7252124a28", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c60a5137d71bca5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_db_businesses.js:32"}, "properties": {"repobilityId": "664ac74a95c4f4b3", "scanner": "scanner-primary", "fingerprint": "2c60a5137d71bca5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fcae7a356365524", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter_v3.js:13"}, "properties": {"repobilityId": "b6976be063cd1222", "scanner": "scanner-primary", "fingerprint": "7fcae7a356365524", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8caa7c551e857105", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bulk_seo_update.js:26"}, "properties": {"repobilityId": "f059d8290ded55a5", "scanner": "scanner-primary", "fingerprint": "8caa7c551e857105", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a96308ffb61b3c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewer_backup_gb_hero.js:39"}, "properties": {"repobilityId": "623ebe649f06bb21", "scanner": "scanner-primary", "fingerprint": "8a96308ffb61b3c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6a740827b023164", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_luton_profile.ts:14"}, "properties": {"repobilityId": "06ce68d86aed6c0f", "scanner": "scanner-primary", "fingerprint": "f6a740827b023164", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a9f6f6564a290ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-blog.js:390"}, "properties": {"repobilityId": "9d25a6fff412689b", "scanner": "scanner-primary", "fingerprint": "4a9f6f6564a290ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4797d63f7a7ba005", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seo_update_blogs.js:63"}, "properties": {"repobilityId": "b04eafe45eb4808b", "scanner": "scanner-primary", "fingerprint": "4797d63f7a7ba005", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c275825d4164198", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_blog_hero.js:19"}, "properties": {"repobilityId": "a609f7f015b7da13", "scanner": "scanner-primary", "fingerprint": "7c275825d4164198", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff6d343bd86aaa08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_slug_id.js:18"}, "properties": {"repobilityId": "94d7a204561e7835", "scanner": "scanner-primary", "fingerprint": "ff6d343bd86aaa08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-06a4dc384ae9cb96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_49.js:50"}, "properties": {"repobilityId": "54056b074b242c6e", "scanner": "scanner-primary", "fingerprint": "06a4dc384ae9cb96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c07828c754bc1e23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_116_120.js:60"}, "properties": {"repobilityId": "f031bb2090466ff1", "scanner": "scanner-primary", "fingerprint": "c07828c754bc1e23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8513e2b605f1dcf0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_14.js:91"}, "properties": {"repobilityId": "460d407db41c15db", "scanner": "scanner-primary", "fingerprint": "8513e2b605f1dcf0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-813897bf44f75ccd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_emergency_guide.js:198"}, "properties": {"repobilityId": "bd77675c267d48dd", "scanner": "scanner-primary", "fingerprint": "813897bf44f75ccd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d8525136bc26808", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/scrape_all_us_cities.ts:138"}, "properties": {"repobilityId": "5142dc3361bea1e8", "scanner": "scanner-primary", "fingerprint": "1d8525136bc26808", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-175efa8d3fb648b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_missing_sf_trades.js:12"}, "properties": {"repobilityId": "9f3c4c8746e929fb", "scanner": "scanner-primary", "fingerprint": "175efa8d3fb648b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04d1db2c65a603ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_orphaned_btn.js:24"}, "properties": {"repobilityId": "34e7bbbd4f5179f4", "scanner": "scanner-primary", "fingerprint": "04d1db2c65a603ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0e0265fbbaafbca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_56.js:50"}, "properties": {"repobilityId": "6919ccf1f54392e4", "scanner": "scanner-primary", "fingerprint": "f0e0265fbbaafbca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f113eaf7456c372", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_refrigerant_gb_duplicate.js:45"}, "properties": {"repobilityId": "1d6598a46d4c80a6", "scanner": "scanner-primary", "fingerprint": "9f113eaf7456c372", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9924e9b2041fb286", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_scrub_db.js:24"}, "properties": {"repobilityId": "3e6ab761ce4af16a", "scanner": "scanner-primary", "fingerprint": "9924e9b2041fb286", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48d85383d821818e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_6.ts:90"}, "properties": {"repobilityId": "247d6341aecdf894", "scanner": "scanner-primary", "fingerprint": "48d85383d821818e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c24aad2800dc867", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_sf_restoration.js:13"}, "properties": {"repobilityId": "7e7013700a3c80bd", "scanner": "scanner-primary", "fingerprint": "8c24aad2800dc867", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e93b1f0817f651b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_us_schema.ts:15"}, "properties": {"repobilityId": "f88346c689dbc21f", "scanner": "scanner-primary", "fingerprint": "2e93b1f0817f651b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47745950c693a659", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_11.js:91"}, "properties": {"repobilityId": "f4eec15863e05bae", "scanner": "scanner-primary", "fingerprint": "47745950c693a659", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26775560328cfba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/revert_hero_fix.js:22"}, "properties": {"repobilityId": "bfd0cfa0dba3ff68", "scanner": "scanner-primary", "fingerprint": "26775560328cfba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0a48fb4177acfb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_dallas.ts:23"}, "properties": {"repobilityId": "78d428959ee9f3c3", "scanner": "scanner-primary", "fingerprint": "d0a48fb4177acfb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f22b69ddfe6c9ab2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_burglar_proof_blog.js:29"}, "properties": {"repobilityId": "c5b763e8318b7087", "scanner": "scanner-primary", "fingerprint": "f22b69ddfe6c9ab2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-90845df600ae065c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_iwd_blog.js:132"}, "properties": {"repobilityId": "edfef1df5bafe87b", "scanner": "scanner-primary", "fingerprint": "90845df600ae065c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3abb1b69f8ff008", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_duplicates.js:18"}, "properties": {"repobilityId": "2530610b7a959d7e", "scanner": "scanner-primary", "fingerprint": "e3abb1b69f8ff008", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d099e6e06a12ec2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-prod-db.js:14"}, "properties": {"repobilityId": "32104af3589d0780", "scanner": "scanner-primary", "fingerprint": "3d099e6e06a12ec2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac9cab78055e3279", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_19.js:50"}, "properties": {"repobilityId": "fd0f008d32891b60", "scanner": "scanner-primary", "fingerprint": "ac9cab78055e3279", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5d7ec5cb3f780c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete-duplicate-post.js:21"}, "properties": {"repobilityId": "a2b4a68f6af3a2f9", "scanner": "scanner-primary", "fingerprint": "a5d7ec5cb3f780c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1136e367d0712eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_441_445.js:60"}, "properties": {"repobilityId": "f92964ae6f064ce5", "scanner": "scanner-primary", "fingerprint": "d1136e367d0712eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d39b8c62c5716641", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_blog_update.js:37"}, "properties": {"repobilityId": "d68cf6d5a9e9724c", "scanner": "scanner-primary", "fingerprint": "d39b8c62c5716641", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98f5d1e1569e15cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_blogs.js:12"}, "properties": {"repobilityId": "c5c48db367494269", "scanner": "scanner-primary", "fingerprint": "98f5d1e1569e15cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7af616e59e55b274", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_376_380.js:60"}, "properties": {"repobilityId": "4a7ca0ad843f28d4", "scanner": "scanner-primary", "fingerprint": "7af616e59e55b274", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b01b5bbe7d8c0b5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_glazing_board_up_blog.js:136"}, "properties": {"repobilityId": "ef90893a73a41c04", "scanner": "scanner-primary", "fingerprint": "b01b5bbe7d8c0b5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9db0f1cf366d7380", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_gas_guides.js:13"}, "properties": {"repobilityId": "23744d7e7dba6d62", "scanner": "scanner-primary", "fingerprint": "9db0f1cf366d7380", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-25b36270f8342488", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/map_color_blocks_to_blogs.js:104"}, "properties": {"repobilityId": "cfd2b6d22f60b60e", "scanner": "scanner-primary", "fingerprint": "25b36270f8342488", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a9a746f6fa6b334", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_gas_leak.js:173"}, "properties": {"repobilityId": "98ca7270a371f0c1", "scanner": "scanner-primary", "fingerprint": "9a9a746f6fa6b334", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a00593e933c84366", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_171_175.js:60"}, "properties": {"repobilityId": "e21d6ddf5a7f931e", "scanner": "scanner-primary", "fingerprint": "a00593e933c84366", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-568ed964b781248d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_446_450.js:60"}, "properties": {"repobilityId": "361f821d264b25f8", "scanner": "scanner-primary", "fingerprint": "568ed964b781248d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3ff8ca0aa4cc3c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_boiler.js:199"}, "properties": {"repobilityId": "3b807b7bd8e4cd6f", "scanner": "scanner-primary", "fingerprint": "e3ff8ca0aa4cc3c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe2169f1b76936d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_premium_images_final.js:46"}, "properties": {"repobilityId": "ad732d7993bcd928", "scanner": "scanner-primary", "fingerprint": "fe2169f1b76936d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82ded29b524d4f74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_businesses.ts:25"}, "properties": {"repobilityId": "9bb028357bbcbcfb", "scanner": "scanner-primary", "fingerprint": "82ded29b524d4f74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c287bbec4141d23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/show_orphaned_context.js:23"}, "properties": {"repobilityId": "c2f0177e8ed507ed", "scanner": "scanner-primary", "fingerprint": "5c287bbec4141d23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb89f9b5d2e2a365", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_original_images.js:12"}, "properties": {"repobilityId": "1a4ccab618e2fb96", "scanner": "scanner-primary", "fingerprint": "fb89f9b5d2e2a365", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c99ea1f2e90f436e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_live_data.js:48"}, "properties": {"repobilityId": "9b4b7c4faa075702", "scanner": "scanner-primary", "fingerprint": "c99ea1f2e90f436e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd13cb3cd1962fa7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-business-emails.js:39"}, "properties": {"repobilityId": "900544b54ba02281", "scanner": "scanner-primary", "fingerprint": "fd13cb3cd1962fa7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89b4cf8b09a6836d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_131_135.js:60"}, "properties": {"repobilityId": "75333fa199d31074", "scanner": "scanner-primary", "fingerprint": "89b4cf8b09a6836d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c3d539557d577943", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase8_trades.ts:52"}, "properties": {"repobilityId": "54cab4481923ec1c", "scanner": "scanner-primary", "fingerprint": "c3d539557d577943", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a12a207a04fa596b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians_v2.ts:24"}, "properties": {"repobilityId": "0ba65685fd178d1c", "scanner": "scanner-primary", "fingerprint": "a12a207a04fa596b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a56b21d494ff75e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs.js:16"}, "properties": {"repobilityId": "cf0f00d005ab66f5", "scanner": "scanner-primary", "fingerprint": "7a56b21d494ff75e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-95a1b89cb22227e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_encoding.js:4"}, "properties": {"repobilityId": "334001437492225c", "scanner": "scanner-primary", "fingerprint": "95a1b89cb22227e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c034308a5d28e62e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_29.js:50"}, "properties": {"repobilityId": "e65fe173011240c4", "scanner": "scanner-primary", "fingerprint": "c034308a5d28e62e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b89236ff6bd9bcdd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_total_count.ts:6"}, "properties": {"repobilityId": "414f5d73e9387e95", "scanner": "scanner-primary", "fingerprint": "b89236ff6bd9bcdd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-418860a85aa00ec9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_missing_paths.js:28"}, "properties": {"repobilityId": "b704e8023a146ecb", "scanner": "scanner-primary", "fingerprint": "418860a85aa00ec9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f5e833513be7a704", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_current_hero.js:17"}, "properties": {"repobilityId": "344fc262adb8a95c", "scanner": "scanner-primary", "fingerprint": "f5e833513be7a704", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0207254f37c6216", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_52.js:50"}, "properties": {"repobilityId": "ccd6360fa58b31ef", "scanner": "scanner-primary", "fingerprint": "d0207254f37c6216", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a10faf759554077", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/amazon_button_url_safe_fix.js:147"}, "properties": {"repobilityId": "5e3d02d4aa46e360", "scanner": "scanner-primary", "fingerprint": "6a10faf759554077", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c563de3bc6c8ecbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase4_trades.ts:52"}, "properties": {"repobilityId": "6ea4ab663e1a7d05", "scanner": "scanner-primary", "fingerprint": "c563de3bc6c8ecbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f595a1fcc07ae24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_uk_electricians.ts:20"}, "properties": {"repobilityId": "bb2b23d42461d8dc", "scanner": "scanner-primary", "fingerprint": "3f595a1fcc07ae24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79af278b3c4316f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_premium.js:22"}, "properties": {"repobilityId": "343a96e1208af344", "scanner": "scanner-primary", "fingerprint": "79af278b3c4316f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3df5f036bcc64dff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_amazon_regex.js:5"}, "properties": {"repobilityId": "c203dbd38a0611d3", "scanner": "scanner-primary", "fingerprint": "3df5f036bcc64dff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29a7874fe226fd48", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_all_tests.ts:13"}, "properties": {"repobilityId": "d46d31136d7a5158", "scanner": "scanner-primary", "fingerprint": "29a7874fe226fd48", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c74a27d96e09f337", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_cleanup.js:48"}, "properties": {"repobilityId": "430e52f3d26edfea", "scanner": "scanner-primary", "fingerprint": "c74a27d96e09f337", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6e7658f75cc9d973", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_image_paths.js:15"}, "properties": {"repobilityId": "626b3b92f725e0b5", "scanner": "scanner-primary", "fingerprint": "6e7658f75cc9d973", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-522858cd583f5cc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bridge_blog_gaps.js:10"}, "properties": {"repobilityId": "72bfa190347bb630", "scanner": "scanner-primary", "fingerprint": "522858cd583f5cc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-601e522451025d3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/redistribute_blog_images.js:107"}, "properties": {"repobilityId": "d97f0f7345ddf709", "scanner": "scanner-primary", "fingerprint": "601e522451025d3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86bc95e5444dadd7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_storm_damage.js:24"}, "properties": {"repobilityId": "e68bcb2c32dd07b8", "scanner": "scanner-primary", "fingerprint": "86bc95e5444dadd7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-acfa32bba39f9c9c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_electrics_blog.js:23"}, "properties": {"repobilityId": "a467f6d78ae5d307", "scanner": "scanner-primary", "fingerprint": "acfa32bba39f9c9c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2f7b120291c5114", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_orphaned_button_block.js:43"}, "properties": {"repobilityId": "dcb0ffa852e9c089", "scanner": "scanner-primary", "fingerprint": "e2f7b120291c5114", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22ad579ae23b802d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_portable_power_blog.js:157"}, "properties": {"repobilityId": "191eab9ffc9ddfad", "scanner": "scanner-primary", "fingerprint": "22ad579ae23b802d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fde39cb9c1f15b73", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.ts:91"}, "properties": {"repobilityId": "fac42ff323c69165", "scanner": "scanner-primary", "fingerprint": "fde39cb9c1f15b73", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-536345034716ad25", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_76.js:50"}, "properties": {"repobilityId": "59616cf721e47698", "scanner": "scanner-primary", "fingerprint": "536345034716ad25", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-952905772ac8ebd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_birmingham_import.ts:19"}, "properties": {"repobilityId": "6a4ac694525d5dd1", "scanner": "scanner-primary", "fingerprint": "952905772ac8ebd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e2f39bcdb685247", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_83.js:50"}, "properties": {"repobilityId": "39d3397c3a905e0a", "scanner": "scanner-primary", "fingerprint": "1e2f39bcdb685247", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d633ad91e11120f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day39_blog.js:43"}, "properties": {"repobilityId": "e4d262e53b3d6450", "scanner": "scanner-primary", "fingerprint": "0d633ad91e11120f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88cace1d0733766d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_5_signs.js:172"}, "properties": {"repobilityId": "9a8732d2ea04b0ad", "scanner": "scanner-primary", "fingerprint": "88cace1d0733766d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2419a6536e5172f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_301_305.js:60"}, "properties": {"repobilityId": "9e58d6fd94efddea", "scanner": "scanner-primary", "fingerprint": "2419a6536e5172f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f055ed4e055d43a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_28.js:50"}, "properties": {"repobilityId": "e42701ad54daed68", "scanner": "scanner-primary", "fingerprint": "f055ed4e055d43a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-faed7183d0f271d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate_color_blocks.js:144"}, "properties": {"repobilityId": "392390d4f031074c", "scanner": "scanner-primary", "fingerprint": "faed7183d0f271d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0f38681b2cc406f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_timestamps.js:17"}, "properties": {"repobilityId": "4f98263da390e121", "scanner": "scanner-primary", "fingerprint": "e0f38681b2cc406f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-850ebca51cffaa60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_60.js:50"}, "properties": {"repobilityId": "50841b581b54b350", "scanner": "scanner-primary", "fingerprint": "850ebca51cffaa60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04cc8f5b31965839", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_401_405.js:60"}, "properties": {"repobilityId": "05643cf5a3a90cba", "scanner": "scanner-primary", "fingerprint": "04cc8f5b31965839", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f56e58f858a57b20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_53.js:50"}, "properties": {"repobilityId": "d048e372f99100c2", "scanner": "scanner-primary", "fingerprint": "f56e58f858a57b20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c24b47811eee3e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/mass_restore.js:11"}, "properties": {"repobilityId": "bc76fd369790f39c", "scanner": "scanner-primary", "fingerprint": "4c24b47811eee3e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71134e45e96c8be8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_cracks.js:163"}, "properties": {"repobilityId": "9d1aacdd386ff100", "scanner": "scanner-primary", "fingerprint": "71134e45e96c8be8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9fccdcdcfca5d13e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bulk-sync.js:25"}, "properties": {"repobilityId": "194d7037fe9247a9", "scanner": "scanner-primary", "fingerprint": "9fccdcdcfca5d13e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f1d618ad683c8039", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-emergency-at-home.js:206"}, "properties": {"repobilityId": "d42a71eb32fbad60", "scanner": "scanner-primary", "fingerprint": "f1d618ad683c8039", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-96407a37c8563884", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_ac_hero.js:16"}, "properties": {"repobilityId": "7c7ffed7dc585c2e", "scanner": "scanner-primary", "fingerprint": "96407a37c8563884", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7266bc52d9326d05", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_power_station_link_us.js:14"}, "properties": {"repobilityId": "af847d6d980a238d", "scanner": "scanner-primary", "fingerprint": "7266bc52d9326d05", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0ca5f016d27bfd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_hubs.ts:22"}, "properties": {"repobilityId": "148f05944661d104", "scanner": "scanner-primary", "fingerprint": "f0ca5f016d27bfd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ca1c03302aa915d2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 scripts/BusinessCard_temp.tsx:121"}, "properties": {"repobilityId": "a6cb4c7e79ff1fc1", "scanner": "scanner-primary", "fingerprint": "ca1c03302aa915d2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-65387ae314d187b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_98.js:49"}, "properties": {"repobilityId": "ee1db8607ec16a4d", "scanner": "scanner-primary", "fingerprint": "65387ae314d187b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-917b6f6ece627edd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_quarantine_us_json.ts:105"}, "properties": {"repobilityId": "e85d0831f0205b22", "scanner": "scanner-primary", "fingerprint": "917b6f6ece627edd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-286ba64eddab580d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_verified_locksmiths.ts:61"}, "properties": {"repobilityId": "ca9e819d3c49307e", "scanner": "scanner-primary", "fingerprint": "286ba64eddab580d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be01b1ed9e8105c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_extra_closing_divs.js:75"}, "properties": {"repobilityId": "3568b6c3584e6a61", "scanner": "scanner-primary", "fingerprint": "be01b1ed9e8105c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2cc398ea56b24a35", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_391_395.js:60"}, "properties": {"repobilityId": "3aa0c7fead20809e", "scanner": "scanner-primary", "fingerprint": "2cc398ea56b24a35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b17bbdeda4b60843", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase5_trades.ts:52"}, "properties": {"repobilityId": "61f788b9d2d84810", "scanner": "scanner-primary", "fingerprint": "b17bbdeda4b60843", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cd8619731bce1e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconstruct_original_mapping.js:13"}, "properties": {"repobilityId": "1b030dc39adb3f60", "scanner": "scanner-primary", "fingerprint": "7cd8619731bce1e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c810982bac9c9da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_25.js:50"}, "properties": {"repobilityId": "c0f3c2a52b10e289", "scanner": "scanner-primary", "fingerprint": "7c810982bac9c9da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7a9795a0900b7bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_61.js:50"}, "properties": {"repobilityId": "40e8751b8b42712a", "scanner": "scanner-primary", "fingerprint": "a7a9795a0900b7bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6823b100d3487f09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_batch_1_images.js:52"}, "properties": {"repobilityId": "d9fff3b4fa7999f8", "scanner": "scanner-primary", "fingerprint": "6823b100d3487f09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1beed2c99099d7aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_batch_blog.js:39"}, "properties": {"repobilityId": "2a1f8c83c4aad0c3", "scanner": "scanner-primary", "fingerprint": "1beed2c99099d7aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0642819034ef307", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_99.js:52"}, "properties": {"repobilityId": "de2d286309cc26cc", "scanner": "scanner-primary", "fingerprint": "a0642819034ef307", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57971a3ae54d9d60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_286_290.js:60"}, "properties": {"repobilityId": "fda2664ac78ed347", "scanner": "scanner-primary", "fingerprint": "57971a3ae54d9d60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-041f9ca4fa8c4a09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_blog_cleanup.js:13"}, "properties": {"repobilityId": "600c4ed2e7f48286", "scanner": "scanner-primary", "fingerprint": "041f9ca4fa8c4a09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35d13e104fc658f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_73.js:50"}, "properties": {"repobilityId": "6d0c3bbadc3a56a0", "scanner": "scanner-primary", "fingerprint": "35d13e104fc658f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7bd406880742273c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_fair_price_calc_uk.js:247"}, "properties": {"repobilityId": "8fab61903d6781eb", "scanner": "scanner-primary", "fingerprint": "7bd406880742273c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40749a005e86c242", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_55.js:50"}, "properties": {"repobilityId": "780a509f350484ac", "scanner": "scanner-primary", "fingerprint": "40749a005e86c242", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20c39c840f1fc176", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_blog_links.js:13"}, "properties": {"repobilityId": "aac64d7ca4882930", "scanner": "scanner-primary", "fingerprint": "20c39c840f1fc176", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a340a60e11228132", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_23.js:50"}, "properties": {"repobilityId": "f9fbdfdde8927de7", "scanner": "scanner-primary", "fingerprint": "a340a60e11228132", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fc906dede6e2948f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_chat_logic.ts:15"}, "properties": {"repobilityId": "8c61563cb14acbb3", "scanner": "scanner-primary", "fingerprint": "fc906dede6e2948f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbda70a22ef122f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_8.ts:90"}, "properties": {"repobilityId": "26b902ccb1b53e8a", "scanner": "scanner-primary", "fingerprint": "dbda70a22ef122f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83d80ca20f346403", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal.js:40"}, "properties": {"repobilityId": "286ff7e6eee972e8", "scanner": "scanner-primary", "fingerprint": "83d80ca20f346403", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7463ef1914da388c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_missing_cities.ts:31"}, "properties": {"repobilityId": "7dd8a12295887443", "scanner": "scanner-primary", "fingerprint": "7463ef1914da388c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-098d604449b7b04d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-claims-bucket.js:17"}, "properties": {"repobilityId": "0b81dc05fa02cfd2", "scanner": "scanner-primary", "fingerprint": "098d604449b7b04d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f39297004df8009f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_db_count.js:9"}, "properties": {"repobilityId": "72567ab0e24cbe09", "scanner": "scanner-primary", "fingerprint": "f39297004df8009f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f606772a2dbffae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/convert_all_blog_images.js:24"}, "properties": {"repobilityId": "2ce0293614c2f70d", "scanner": "scanner-primary", "fingerprint": "2f606772a2dbffae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26886e7b3222bd26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_phase2.ts:37"}, "properties": {"repobilityId": "80e1b0b4f7210acb", "scanner": "scanner-primary", "fingerprint": "26886e7b3222bd26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d860135e075d6c1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_data_integrity.js:17"}, "properties": {"repobilityId": "15ab9be6af6bec9b", "scanner": "scanner-primary", "fingerprint": "d860135e075d6c1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-daab99eec6c6c5eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_amazon_containers.js:138"}, "properties": {"repobilityId": "08890c5bfc987def", "scanner": "scanner-primary", "fingerprint": "daab99eec6c6c5eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a173a4ff8ba89752", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/complete_sf_data.js:13"}, "properties": {"repobilityId": "1a2deb9c6c560873", "scanner": "scanner-primary", "fingerprint": "a173a4ff8ba89752", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0385893359a96cfd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_blog_duplication.js:18"}, "properties": {"repobilityId": "badb05c4638b0def", "scanner": "scanner-primary", "fingerprint": "0385893359a96cfd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e108d93b21a1fca4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_stripe_modal_v2.js:31"}, "properties": {"repobilityId": "1ec867cbc3bd5717", "scanner": "scanner-primary", "fingerprint": "e108d93b21a1fca4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e05e79e2f331af9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply_regional_migration.ts:14"}, "properties": {"repobilityId": "3aef8d1833cb065a", "scanner": "scanner-primary", "fingerprint": "e05e79e2f331af9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57abde931d1f0580", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_316_320.js:60"}, "properties": {"repobilityId": "2114aab9b89b839d", "scanner": "scanner-primary", "fingerprint": "57abde931d1f0580", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d007ed3dc81fb966", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_tables.js:23"}, "properties": {"repobilityId": "5f482e6a2dae7acb", "scanner": "scanner-primary", "fingerprint": "d007ed3dc81fb966", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e50ba7396a0429a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_266_270.js:60"}, "properties": {"repobilityId": "50fb9dd3346fbdf0", "scanner": "scanner-primary", "fingerprint": "0e50ba7396a0429a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ab504d0312b94e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_duplicate_panic_blog.js:23"}, "properties": {"repobilityId": "a6c04aa5eaf29ece", "scanner": "scanner-primary", "fingerprint": "4ab504d0312b94e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0587b666c18f9ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_amazon_link_us.js:13"}, "properties": {"repobilityId": "67823c21bf4bcdc1", "scanner": "scanner-primary", "fingerprint": "a0587b666c18f9ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4434b837389b8916", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_371_375.js:60"}, "properties": {"repobilityId": "293e23cc298795c2", "scanner": "scanner-primary", "fingerprint": "4434b837389b8916", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-824ea99b744a2202", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_locations.ts:18"}, "properties": {"repobilityId": "6410c885c58b6a25", "scanner": "scanner-primary", "fingerprint": "824ea99b744a2202", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a5156eedb0acd97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_todays_blogs.js:51"}, "properties": {"repobilityId": "f80869245b32b9d6", "scanner": "scanner-primary", "fingerprint": "3a5156eedb0acd97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b989d85c5882af7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_filtering.js:10"}, "properties": {"repobilityId": "4bc0a4bd2e6ddc1a", "scanner": "scanner-primary", "fingerprint": "9b989d85c5882af7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94b4d8676bf8b6a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_insert_permission.js:21"}, "properties": {"repobilityId": "97601b75e198077b", "scanner": "scanner-primary", "fingerprint": "94b4d8676bf8b6a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-765f64fa10d94043", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_fetch.js:10"}, "properties": {"repobilityId": "02e5c9a259b0c6f5", "scanner": "scanner-primary", "fingerprint": "765f64fa10d94043", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-498e1e9200082d07", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/global_duplicate_cleanup.js:10"}, "properties": {"repobilityId": "932f73c8554eb871", "scanner": "scanner-primary", "fingerprint": "498e1e9200082d07", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-021d0e166e96dfc6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_remaining_divs.js:63"}, "properties": {"repobilityId": "73655cf3d905dc70", "scanner": "scanner-primary", "fingerprint": "021d0e166e96dfc6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30ee4614e8892dee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_redundant_power_blog.js:23"}, "properties": {"repobilityId": "68ac90e40555e7f3", "scanner": "scanner-primary", "fingerprint": "30ee4614e8892dee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f6b335ee0e0af98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_39.js:50"}, "properties": {"repobilityId": "8a8e723e1e467b33", "scanner": "scanner-primary", "fingerprint": "4f6b335ee0e0af98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44234177fa28cae0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_panic_blogs.js:147"}, "properties": {"repobilityId": "811c3e7ccc4ecd02", "scanner": "scanner-primary", "fingerprint": "44234177fa28cae0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-beefc05561b492da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_trades.ts:47"}, "properties": {"repobilityId": "88c801c3f9b7ad5d", "scanner": "scanner-primary", "fingerprint": "beefc05561b492da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8cb3bab6253d5122", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch3.ts:26"}, "properties": {"repobilityId": "ed883a82620b1e5b", "scanner": "scanner-primary", "fingerprint": "8cb3bab6253d5122", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2694c07d5223069a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_sewage.js:200"}, "properties": {"repobilityId": "9711d71451793758", "scanner": "scanner-primary", "fingerprint": "2694c07d5223069a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c26e524092ef47f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-sendgrid-secrets.js:11"}, "properties": {"repobilityId": "e06662e5ab630acb", "scanner": "scanner-primary", "fingerprint": "c26e524092ef47f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-728beb29d8b8baa2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_271_275.js:60"}, "properties": {"repobilityId": "39bcffc921649151", "scanner": "scanner-primary", "fingerprint": "728beb29d8b8baa2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-880fbb52daf031f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_word_counts_v2.js:16"}, "properties": {"repobilityId": "ff722fdd10642212", "scanner": "scanner-primary", "fingerprint": "880fbb52daf031f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19d13dd6ba214c0e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_blog_hero.js:25"}, "properties": {"repobilityId": "e339b985fd440d12", "scanner": "scanner-primary", "fingerprint": "19d13dd6ba214c0e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6343039dbfcac93", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_4.ts:90"}, "properties": {"repobilityId": "b837a8caa1ac0e56", "scanner": "scanner-primary", "fingerprint": "d6343039dbfcac93", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bef8e378603d932b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_88.js:50"}, "properties": {"repobilityId": "683ba643843f55b9", "scanner": "scanner-primary", "fingerprint": "bef8e378603d932b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b80580a2082f03d3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_real_reviews.js:30"}, "properties": {"repobilityId": "fc952f692e182987", "scanner": "scanner-primary", "fingerprint": "b80580a2082f03d3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cc7afffb6b59c77", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_electricians.ts:50"}, "properties": {"repobilityId": "a7e4a34e019becec", "scanner": "scanner-primary", "fingerprint": "7cc7afffb6b59c77", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-28638e77e324ea69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_static_data_to_supabase.js:97"}, "properties": {"repobilityId": "617e8ef75c27fedd", "scanner": "scanner-primary", "fingerprint": "28638e77e324ea69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-800a7e7779b3bc0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_groupA_trades.ts:53"}, "properties": {"repobilityId": "51c89bc25b7310c2", "scanner": "scanner-primary", "fingerprint": "800a7e7779b3bc0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0cc80d53e14aac1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_66.js:50"}, "properties": {"repobilityId": "7fb75971fcaa8c76", "scanner": "scanner-primary", "fingerprint": "d0cc80d53e14aac1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49d663edd3fc3084", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reformat_blog_layout.js:51"}, "properties": {"repobilityId": "1e45b6f69fc27603", "scanner": "scanner-primary", "fingerprint": "49d663edd3fc3084", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69648cc5697c2283", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_381_385.js:60"}, "properties": {"repobilityId": "4ff0dedc786b0b5b", "scanner": "scanner-primary", "fingerprint": "69648cc5697c2283", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-388fe42dcb846376", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_bidet_button_fix.js:119"}, "properties": {"repobilityId": "53ea8bcd6c6c876d", "scanner": "scanner-primary", "fingerprint": "388fe42dcb846376", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b929070956dbffe9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_schema.ts:25"}, "properties": {"repobilityId": "2dfeb037c6e555c2", "scanner": "scanner-primary", "fingerprint": "b929070956dbffe9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e06e46d95e4d1f6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_uk_batch_10.js:91"}, "properties": {"repobilityId": "24ee6d728716509c", "scanner": "scanner-primary", "fingerprint": "e06e46d95e4d1f6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-064230c296e98cf1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_13.js:50"}, "properties": {"repobilityId": "9f7c2a0d50389b15", "scanner": "scanner-primary", "fingerprint": "064230c296e98cf1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7a6e514dd177245", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_94.js:50"}, "properties": {"repobilityId": "d7ce81c08614132e", "scanner": "scanner-primary", "fingerprint": "f7a6e514dd177245", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e79afdd4faf9ad20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_241_245.js:60"}, "properties": {"repobilityId": "b7c9cbabe1fcbae9", "scanner": "scanner-primary", "fingerprint": "e79afdd4faf9ad20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b019ddfdbaa22096", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_purge_v3.js:19"}, "properties": {"repobilityId": "f6969cc08eba23a6", "scanner": "scanner-primary", "fingerprint": "b019ddfdbaa22096", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9fc96540605593b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_energy_shock_link_us.js:14"}, "properties": {"repobilityId": "928a361ae4450231", "scanner": "scanner-primary", "fingerprint": "f9fc96540605593b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a75b3ccaec479aa9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_day60_blogs.js:38"}, "properties": {"repobilityId": "62e41327e53ab7ab", "scanner": "scanner-primary", "fingerprint": "a75b3ccaec479aa9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2027583b34da775", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_95.js:50"}, "properties": {"repobilityId": "4dcb3eb35dead7af", "scanner": "scanner-primary", "fingerprint": "a2027583b34da775", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcec4e951706c318", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_product_box_image.js:44"}, "properties": {"repobilityId": "e89ce3538d714273", "scanner": "scanner-primary", "fingerprint": "dcec4e951706c318", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7d97a162dd4f8d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_premium_fix_uk.js:22"}, "properties": {"repobilityId": "18a2244492178291", "scanner": "scanner-primary", "fingerprint": "f7d97a162dd4f8d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b11e4758e8cc9c6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_3.js:50"}, "properties": {"repobilityId": "c7064950cc06baaf", "scanner": "scanner-primary", "fingerprint": "b11e4758e8cc9c6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1736fdb604a0ef42", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find_images.js:21"}, "properties": {"repobilityId": "4ca97c70d92180a3", "scanner": "scanner-primary", "fingerprint": "1736fdb604a0ef42", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0607a197007c879", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/TradeCityPage_temp.tsx:59"}, "properties": {"repobilityId": "9a96b9ae3d8927c3", "scanner": "scanner-primary", "fingerprint": "c0607a197007c879", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4a19077220f01c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/aggressive_blog_purge.js:10"}, "properties": {"repobilityId": "c4a015895c750176", "scanner": "scanner-primary", "fingerprint": "b4a19077220f01c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d42f37f1cd84fc4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_car_guides.js:13"}, "properties": {"repobilityId": "4cce34cbaa6d57f9", "scanner": "scanner-primary", "fingerprint": "d42f37f1cd84fc4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8aad017dd92f41b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/clean_em_dash.js:30"}, "properties": {"repobilityId": "628daa2cedeabc36", "scanner": "scanner-primary", "fingerprint": "8aad017dd92f41b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b244040b09716d3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_sewage_guides.js:13"}, "properties": {"repobilityId": "1cd191fa59db8db8", "scanner": "scanner-primary", "fingerprint": "b244040b09716d3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-716ad1393fbf9299", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_table.ts:13"}, "properties": {"repobilityId": "93806bc7abd177a1", "scanner": "scanner-primary", "fingerprint": "716ad1393fbf9299", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2cba844266dcc317", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_rpc.js:21"}, "properties": {"repobilityId": "513070a63bb24950", "scanner": "scanner-primary", "fingerprint": "2cba844266dcc317", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14e59c680bbdc0d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase12_batch1.ts:30"}, "properties": {"repobilityId": "888a0b9cdb721bf1", "scanner": "scanner-primary", "fingerprint": "14e59c680bbdc0d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2f6a416596c94cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/enrich-emails.js:51"}, "properties": {"repobilityId": "e6430eef3ba9f28f", "scanner": "scanner-primary", "fingerprint": "f2f6a416596c94cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c2d1a21990dcf3d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_lockout_blog_hero.js:19"}, "properties": {"repobilityId": "2f3fb034693b03a8", "scanner": "scanner-primary", "fingerprint": "6c2d1a21990dcf3d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14d7f04df02dde39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_content.js:12"}, "properties": {"repobilityId": "a7a54079f970c368", "scanner": "scanner-primary", "fingerprint": "14d7f04df02dde39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bef9ccfe1274f097", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_content.js:19"}, "properties": {"repobilityId": "e1efecd92cd3508f", "scanner": "scanner-primary", "fingerprint": "bef9ccfe1274f097", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f210aae56f01cdda", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_detailed_cities.ts:34"}, "properties": {"repobilityId": "98bae25f787a5583", "scanner": "scanner-primary", "fingerprint": "f210aae56f01cdda", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e42fac854897b220", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_uk_images_v2.js:12"}, "properties": {"repobilityId": "a83098988764e969", "scanner": "scanner-primary", "fingerprint": "e42fac854897b220", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1edcd0cf13632866", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fill_uk_gaps_priority.ts:74"}, "properties": {"repobilityId": "24270c77f12bcdfa", "scanner": "scanner-primary", "fingerprint": "1edcd0cf13632866", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51ff819c1086973b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_phase11_batch1.ts:26"}, "properties": {"repobilityId": "1f65dfbc2c03a1ae", "scanner": "scanner-primary", "fingerprint": "51ff819c1086973b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71b9f9c0fa9afc66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove_first_orphaned_section.js:41"}, "properties": {"repobilityId": "ead7d8644844a609", "scanner": "scanner-primary", "fingerprint": "71b9f9c0fa9afc66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc8929944c64a943", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_power_outage.js:245"}, "properties": {"repobilityId": "f4b3669ec7d87936", "scanner": "scanner-primary", "fingerprint": "cc8929944c64a943", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fad0aef6871348a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_67.js:50"}, "properties": {"repobilityId": "d15e36c601dc749b", "scanner": "scanner-primary", "fingerprint": "fad0aef6871348a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-150a21e76c653bd1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish_pest_ingress.js:38"}, "properties": {"repobilityId": "bf61e12f33b4f273", "scanner": "scanner-primary", "fingerprint": "150a21e76c653bd1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-396abcccffeec18f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_246_250.js:60"}, "properties": {"repobilityId": "902972be01077455", "scanner": "scanner-primary", "fingerprint": "396abcccffeec18f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3744802f4e6a482", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_54.js:50"}, "properties": {"repobilityId": "c72bfcfe76d30265", "scanner": "scanner-primary", "fingerprint": "a3744802f4e6a482", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9aba69f13053138c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed_locations.ts:43"}, "properties": {"repobilityId": "b4fc48f8ac01cfc7", "scanner": "scanner-primary", "fingerprint": "9aba69f13053138c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec897739266d4562", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_26.js:50"}, "properties": {"repobilityId": "868d9da8e3ca43ec", "scanner": "scanner-primary", "fingerprint": "ec897739266d4562", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c1eecaa13ce2226", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_spring_condensation_blog.js:139"}, "properties": {"repobilityId": "d51eac0e0d87a8fe", "scanner": "scanner-primary", "fingerprint": "8c1eecaa13ce2226", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f85da960850247e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_reliable_tradesmen_post.js:152"}, "properties": {"repobilityId": "769e548ab872434c", "scanner": "scanner-primary", "fingerprint": "3f85da960850247e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c28e684fb625a57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_62.js:50"}, "properties": {"repobilityId": "32ece313382f2b10", "scanner": "scanner-primary", "fingerprint": "8c28e684fb625a57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1778b7986cdba305", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_database_metadata.js:19"}, "properties": {"repobilityId": "f6961a4abe93f05a", "scanner": "scanner-primary", "fingerprint": "1778b7986cdba305", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d25817cca7e1825", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_50.js:50"}, "properties": {"repobilityId": "1760780d488a1d28", "scanner": "scanner-primary", "fingerprint": "9d25817cca7e1825", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9cf308caffca3d18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_refrigerant_gb_product_box.js:70"}, "properties": {"repobilityId": "57da4bd6b550fa61", "scanner": "scanner-primary", "fingerprint": "9cf308caffca3d18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2614022aee2abd8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_location_index.ts:6"}, "properties": {"repobilityId": "76ce499422d49647", "scanner": "scanner-primary", "fingerprint": "2614022aee2abd8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b03aba246bf36fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_72.js:50"}, "properties": {"repobilityId": "2ead422e2a54895a", "scanner": "scanner-primary", "fingerprint": "0b03aba246bf36fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f69ae84c6f03eb6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_196_200.js:60"}, "properties": {"repobilityId": "3aea69619076ba3a", "scanner": "scanner-primary", "fingerprint": "5f69ae84c6f03eb6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2d23c3f938fd908", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-missing-postcodes.js:15"}, "properties": {"repobilityId": "953e67a09a799d98", "scanner": "scanner-primary", "fingerprint": "a2d23c3f938fd908", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a50403de6ea543d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_276_280.js:60"}, "properties": {"repobilityId": "954268bcc4a9b3c5", "scanner": "scanner-primary", "fingerprint": "a50403de6ea543d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ea4c506022f1330", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db_content_updates.js:32"}, "properties": {"repobilityId": "69093b9600efd9f2", "scanner": "scanner-primary", "fingerprint": "9ea4c506022f1330", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-28e484654490b94d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_blogs.js:36"}, "properties": {"repobilityId": "8a2a80b57da85865", "scanner": "scanner-primary", "fingerprint": "28e484654490b94d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a3b4808fb7da84a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_plumbing_guides.js:13"}, "properties": {"repobilityId": "47f099989fad871f", "scanner": "scanner-primary", "fingerprint": "4a3b4808fb7da84a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb7041b159af6ae7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blogs.js:20"}, "properties": {"repobilityId": "93f832459106a04e", "scanner": "scanner-primary", "fingerprint": "bb7041b159af6ae7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ed840665083bb7e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 scripts/migrate_mock_data.js:7"}, "properties": {"repobilityId": "e835c29ce9331c5a", "scanner": "scanner-primary", "fingerprint": "7ed840665083bb7e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-981abcdbcfa0d024", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate_mock_data.js:37"}, "properties": {"repobilityId": "4c7c9876827102b5", "scanner": "scanner-primary", "fingerprint": "981abcdbcfa0d024", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7bab5495974cafea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create_blog_image_mapping.js:16"}, "properties": {"repobilityId": "1badbafadd6ed318", "scanner": "scanner-primary", "fingerprint": "7bab5495974cafea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef8116b76317f243", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_post_branded.js:44"}, "properties": {"repobilityId": "6a42cc2551964e16", "scanner": "scanner-primary", "fingerprint": "ef8116b76317f243", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5e3a342f721d774", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_blog_published.js:23"}, "properties": {"repobilityId": "0c0a56cc30140f01", "scanner": "scanner-primary", "fingerprint": "c5e3a342f721d774", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f4229023be2c93a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_all_images.js:22"}, "properties": {"repobilityId": "809af5d520fdc04a", "scanner": "scanner-primary", "fingerprint": "4f4229023be2c93a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc9d12a36def11b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_20.js:50"}, "properties": {"repobilityId": "ae33dca96578e651", "scanner": "scanner-primary", "fingerprint": "cc9d12a36def11b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8395e3f3f41e06d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_82.js:50"}, "properties": {"repobilityId": "b70dfc1c35ef72a2", "scanner": "scanner-primary", "fingerprint": "8395e3f3f41e06d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff707452b1ebbfec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_large_paragraphs.js:104"}, "properties": {"repobilityId": "23489c1fe9d949cc", "scanner": "scanner-primary", "fingerprint": "ff707452b1ebbfec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3bd09e0861ae1e06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_component.js:68"}, "properties": {"repobilityId": "58dd1d47a934cb8b", "scanner": "scanner-primary", "fingerprint": "3bd09e0861ae1e06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1623c224ad6cb8ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_locations.ts:18"}, "properties": {"repobilityId": "421c347d7583da14", "scanner": "scanner-primary", "fingerprint": "1623c224ad6cb8ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cbb436c548c66bf4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_uk_images_v2.js:18"}, "properties": {"repobilityId": "c30e3ed9022cdb94", "scanner": "scanner-primary", "fingerprint": "cbb436c548c66bf4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bb53d67b897466b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_condensate_us.js:34"}, "properties": {"repobilityId": "e9811e8460c3d789", "scanner": "scanner-primary", "fingerprint": "2bb53d67b897466b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b88abb0e51537a2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-empty-pages.js:75"}, "properties": {"repobilityId": "e4bf3220b9da8aae", "scanner": "scanner-primary", "fingerprint": "b88abb0e51537a2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b724e7a985fead6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_blog_titles.js:19"}, "properties": {"repobilityId": "3d43ba4198d5aeff", "scanner": "scanner-primary", "fingerprint": "2b724e7a985fead6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c93232f5408677b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_listings.ts:6"}, "properties": {"repobilityId": "0de3d7467fffaace", "scanner": "scanner-primary", "fingerprint": "c93232f5408677b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec62272b5442831a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_18.js:50"}, "properties": {"repobilityId": "6a5a1346dbad0a6a", "scanner": "scanner-primary", "fingerprint": "ec62272b5442831a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23cfba651bd39e11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville.js:18"}, "properties": {"repobilityId": "442dcee4fb076f32", "scanner": "scanner-primary", "fingerprint": "23cfba651bd39e11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cae1c823b2ce4074", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_all_regional_posts.js:53"}, "properties": {"repobilityId": "a94ee129f67e7985", "scanner": "scanner-primary", "fingerprint": "cae1c823b2ce4074", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-088fc27ed5f42271", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/batch_regionalize_us.js:12"}, "properties": {"repobilityId": "8b4a6ac7446bd88c", "scanner": "scanner-primary", "fingerprint": "088fc27ed5f42271", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ce20766f76336a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_341_345.js:60"}, "properties": {"repobilityId": "cfb746fba379c2aa", "scanner": "scanner-primary", "fingerprint": "4ce20766f76336a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9f9be771aaac349", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update_blog_images.js:12"}, "properties": {"repobilityId": "3483550bbfc64c7d", "scanner": "scanner-primary", "fingerprint": "b9f9be771aaac349", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-752ecf11799676fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_logic_standalone.ts:11"}, "properties": {"repobilityId": "2d1b1dafe0db0c7c", "scanner": "scanner-primary", "fingerprint": "752ecf11799676fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23fa7def451e4337", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_us_schema.js:28"}, "properties": {"repobilityId": "a5b10b62d69ed5e4", "scanner": "scanner-primary", "fingerprint": "23fa7def451e4337", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-450b59964621f394", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/delete_5_signs_blog.js:21"}, "properties": {"repobilityId": "467716634b7d4b24", "scanner": "scanner-primary", "fingerprint": "450b59964621f394", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4fef6df2cc35c7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_recent_posts.js:14"}, "properties": {"repobilityId": "3dabf59f44bee29d", "scanner": "scanner-primary", "fingerprint": "c4fef6df2cc35c7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c04e01736edb8983", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/restore_original_images.js:19"}, "properties": {"repobilityId": "c08e2c0c19db03c5", "scanner": "scanner-primary", "fingerprint": "c04e01736edb8983", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54bef408c14d2ed2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest_full_us_cities.ts:62"}, "properties": {"repobilityId": "99838f44390b66e9", "scanner": "scanner-primary", "fingerprint": "54bef408c14d2ed2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-305a38cedaa94f17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_46.js:50"}, "properties": {"repobilityId": "2cd7fc0f9f6e59ba", "scanner": "scanner-primary", "fingerprint": "305a38cedaa94f17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a4efa366bf3d26e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/deep_audit_us.ts:31"}, "properties": {"repobilityId": "cc219102a61df2b0", "scanner": "scanner-primary", "fingerprint": "a4efa366bf3d26e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2cfc2830f65630e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_51.js:50"}, "properties": {"repobilityId": "b49273ca15d53133", "scanner": "scanner-primary", "fingerprint": "f2cfc2830f65630e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-635e9fff47ab5b5c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dump_businesses.js:22"}, "properties": {"repobilityId": "2de9f6bb856d687b", "scanner": "scanner-primary", "fingerprint": "635e9fff47ab5b5c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0c8a8d08d9e3d14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_103.js:50"}, "properties": {"repobilityId": "af7dd914189ca00f", "scanner": "scanner-primary", "fingerprint": "c0c8a8d08d9e3d14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-248921179e244701", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_226_230.js:48"}, "properties": {"repobilityId": "3a1c779f825e8fd5", "scanner": "scanner-primary", "fingerprint": "248921179e244701", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ccf3b13eec93b7b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create_temp_user.ts:25"}, "properties": {"repobilityId": "d3663a736065c1f8", "scanner": "scanner-primary", "fingerprint": "ccf3b13eec93b7b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49fe325e3d15ae83", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list_all_posts.js:19"}, "properties": {"repobilityId": "4250cdef797406be", "scanner": "scanner-primary", "fingerprint": "49fe325e3d15ae83", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-098ed5d6f9443ea2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_london_extra.ts:24"}, "properties": {"repobilityId": "4b19204ca5122974", "scanner": "scanner-primary", "fingerprint": "098ed5d6f9443ea2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40ed6af2acbd4118", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/simulate_blog_filter.js:10"}, "properties": {"repobilityId": "cfe51ccf5a364809", "scanner": "scanner-primary", "fingerprint": "40ed6af2acbd4118", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff52cab03adfa86c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_improve_not_move_blog.js:265"}, "properties": {"repobilityId": "5f04e0b9e8965cf8", "scanner": "scanner-primary", "fingerprint": "ff52cab03adfa86c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-deaa7298faa7e1c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_us_adaptive.ts:19"}, "properties": {"repobilityId": "c0a26f821a04b4df", "scanner": "scanner-primary", "fingerprint": "deaa7298faa7e1c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70b012e94c4896b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rename_profile.ts:16"}, "properties": {"repobilityId": "0410ac0c11d46758", "scanner": "scanner-primary", "fingerprint": "70b012e94c4896b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c97ec4115f578c0d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import_aberdeen_water.ts:57"}, "properties": {"repobilityId": "f3aa442bede0c7d6", "scanner": "scanner-primary", "fingerprint": "c97ec4115f578c0d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f967462727f3c5a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_listing_report.js:17"}, "properties": {"repobilityId": "bbb2e48e1f813d82", "scanner": "scanner-primary", "fingerprint": "f967462727f3c5a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-860498d704656270", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_11.js:50"}, "properties": {"repobilityId": "d46cb162eea5b3bd", "scanner": "scanner-primary", "fingerprint": "860498d704656270", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0eb8253b291b6c6b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get_uid.js:27"}, "properties": {"repobilityId": "0b856ed128ef86e0", "scanner": "scanner-primary", "fingerprint": "0eb8253b291b6c6b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98d1ef7a1ea6d2f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/purge_duplicates.js:10"}, "properties": {"repobilityId": "799d5032b258c537", "scanner": "scanner-primary", "fingerprint": "98d1ef7a1ea6d2f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d228a0939cda7b90", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_regional_locked_out.js:248"}, "properties": {"repobilityId": "afd188b8cfdc7ecc", "scanner": "scanner-primary", "fingerprint": "d228a0939cda7b90", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7f88877a8d231fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_enterprise.js:26"}, "properties": {"repobilityId": "1d6cbc3597c5d06c", "scanner": "scanner-primary", "fingerprint": "e7f88877a8d231fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e99bcd98818ea20a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_sprinkle_links.js:54"}, "properties": {"repobilityId": "1605d2c3775a4ff9", "scanner": "scanner-primary", "fingerprint": "e99bcd98818ea20a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ae6a21190009bd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_security_image.js:39"}, "properties": {"repobilityId": "b9dc9799c377661f", "scanner": "scanner-primary", "fingerprint": "4ae6a21190009bd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-017346abd41dc6a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_premium_profile.js:22"}, "properties": {"repobilityId": "7e06e11b471e5427", "scanner": "scanner-primary", "fingerprint": "017346abd41dc6a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-720b69fc2e5e8915", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_361_365.js:60"}, "properties": {"repobilityId": "dceafdf0a62e1a6e", "scanner": "scanner-primary", "fingerprint": "720b69fc2e5e8915", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7839211d516c9c06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_today_blogs_final.js:44"}, "properties": {"repobilityId": "8dfe029f7a29a1d8", "scanner": "scanner-primary", "fingerprint": "7839211d516c9c06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-729c3a43f519bdb1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_dallas_roofers.js:11"}, "properties": {"repobilityId": "1e0c273d6e478ba6", "scanner": "scanner-primary", "fingerprint": "729c3a43f519bdb1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af1ddbbc4e304fc9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upload_drainage_post.js:34"}, "properties": {"repobilityId": "5712192c0292dc48", "scanner": "scanner-primary", "fingerprint": "af1ddbbc4e304fc9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-99316ab98872147a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/save_key.js:8"}, "properties": {"repobilityId": "d223090fe714dc6b", "scanner": "scanner-primary", "fingerprint": "99316ab98872147a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20fef58527e114d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_33.js:50"}, "properties": {"repobilityId": "33986035e428c3e4", "scanner": "scanner-primary", "fingerprint": "20fef58527e114d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d737758659e7061", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_7.js:50"}, "properties": {"repobilityId": "6ef9622125e7c4de", "scanner": "scanner-primary", "fingerprint": "5d737758659e7061", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9e70fcc9f5f80da5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_electrical_protocol_blog.js:161"}, "properties": {"repobilityId": "300228d42f5b06a1", "scanner": "scanner-primary", "fingerprint": "9e70fcc9f5f80da5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4af86e07d75e72d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_hero_fix.js:23"}, "properties": {"repobilityId": "77bd05c0187860cc", "scanner": "scanner-primary", "fingerprint": "4af86e07d75e72d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4394f56a700b5cba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup_blog_content.js:31"}, "properties": {"repobilityId": "e0f656431e47a7b4", "scanner": "scanner-primary", "fingerprint": "4394f56a700b5cba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1587b787eea0d1bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-stripe-config.js:27"}, "properties": {"repobilityId": "a11d6108eb8f2d81", "scanner": "scanner-primary", "fingerprint": "1587b787eea0d1bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8666ff77d9f72e1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_elevenlabs_simple.js:10"}, "properties": {"repobilityId": "63e57da0684767ba", "scanner": "scanner-primary", "fingerprint": "8666ff77d9f72e1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4ec9e0f9eb4943f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_34.js:50"}, "properties": {"repobilityId": "d61310f9388eac02", "scanner": "scanner-primary", "fingerprint": "e4ec9e0f9eb4943f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7498713fea56151f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_surgical_audit.js:10"}, "properties": {"repobilityId": "88a399afe8f9aacb", "scanner": "scanner-primary", "fingerprint": "7498713fea56151f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd57ea40b4daac26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count_total_listings_v2.ts:7"}, "properties": {"repobilityId": "423bb2c3fdb348a2", "scanner": "scanner-primary", "fingerprint": "bd57ea40b4daac26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9f08e61a2130478", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/insert_hollow_frame_blog.js:99"}, "properties": {"repobilityId": "6b301e8daf8367f8", "scanner": "scanner-primary", "fingerprint": "d9f08e61a2130478", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bfabeff74cdaa9fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-webhook.js:12"}, "properties": {"repobilityId": "481c1a8b2283a085", "scanner": "scanner-primary", "fingerprint": "bfabeff74cdaa9fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b8a722346fbd90a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test_blog_dump.js:20"}, "properties": {"repobilityId": "548e7d5af8ca43a7", "scanner": "scanner-primary", "fingerprint": "6b8a722346fbd90a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d9a708b1b142ce1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix_mangled_amazon_buttons.js:67"}, "properties": {"repobilityId": "fadce00e94f08cdd", "scanner": "scanner-primary", "fingerprint": "5d9a708b1b142ce1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-661b90eef5e10972", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit_google_readiness.js:56"}, "properties": {"repobilityId": "48950d05af7ae8bf", "scanner": "scanner-primary", "fingerprint": "661b90eef5e10972", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c72f87138bf7997e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add_no_electricity_blog.js:72"}, "properties": {"repobilityId": "8da2b5c0280b692f", "scanner": "scanner-primary", "fingerprint": "c72f87138bf7997e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57d626ddc268b10d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug_us_post.js:22"}, "properties": {"repobilityId": "0ac3d9fbca9dfbe3", "scanner": "scanner-primary", "fingerprint": "57d626ddc268b10d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38d1f9c3a4d97849", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_complete_us.js:64"}, "properties": {"repobilityId": "b7bbdbf8b92d43c1", "scanner": "scanner-primary", "fingerprint": "38d1f9c3a4d97849", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-944054da8f055a95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_batch_79.js:50"}, "properties": {"repobilityId": "2bdbb98c7bbefae1", "scanner": "scanner-primary", "fingerprint": "944054da8f055a95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1a299cf0e1762c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify_gemini.js:8"}, "properties": {"repobilityId": "70468d0846ab87d5", "scanner": "scanner-primary", "fingerprint": "e1a299cf0e1762c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fd2691bbed45247", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_111_115.js:60"}, "properties": {"repobilityId": "c130830529e31fa1", "scanner": "scanner-primary", "fingerprint": "7fd2691bbed45247", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b73f3b461d7babf9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check_greenville_details.js:18"}, "properties": {"repobilityId": "8f5d4cdafb515e9a", "scanner": "scanner-primary", "fingerprint": "b73f3b461d7babf9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d82823f5d37ba4ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch_all_blogs.js:21"}, "properties": {"repobilityId": "36d6baa8712408ec", "scanner": "scanner-primary", "fingerprint": "d82823f5d37ba4ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1d08b6753c05173", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final_4_cities.js:32"}, "properties": {"repobilityId": "be19598b6c86bb60", "scanner": "scanner-primary", "fingerprint": "c1d08b6753c05173", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66ab150e4d3c59fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_251_255.js:60"}, "properties": {"repobilityId": "74a25b2a05f06dc0", "scanner": "scanner-primary", "fingerprint": "66ab150e4d3c59fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fcce6717f391f047", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/inject_verified_us_mega_batch_126_130.js:60"}, "properties": {"repobilityId": "e58793424cc1f629", "scanner": "scanner-primary", "fingerprint": "fcce6717f391f047", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3f9b2545cec702f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stt-frontend/app.js:61"}, "properties": {"repobilityId": "814686cbd4c62be4", "scanner": "scanner-primary", "fingerprint": "b3f9b2545cec702f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-00eb6eee87cfc326", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_plumbers.ts:7"}, "properties": {"repobilityId": "bd032c3b2d720e38", "scanner": "scanner-primary", "fingerprint": "00eb6eee87cfc326", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9213a502c79ed702", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_plumbers.js:76"}, "properties": {"repobilityId": "407779f35a3540ff", "scanner": "scanner-primary", "fingerprint": "9213a502c79ed702", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2228ec338b24bb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_duplicates.ts:46"}, "properties": {"repobilityId": "26fc2fea3c4518e3", "scanner": "scanner-primary", "fingerprint": "e2228ec338b24bb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef2f4068ce0f056f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_remaining_locksmiths.js:88"}, "properties": {"repobilityId": "60a4786b5fa219b6", "scanner": "scanner-primary", "fingerprint": "ef2f4068ce0f056f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-531523c8f9e0c064", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_gas_engineers.ts:3"}, "properties": {"repobilityId": "06bfceca8d6299b6", "scanner": "scanner-primary", "fingerprint": "531523c8f9e0c064", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2cd0fdb08601b3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_glaziers.ts:3"}, "properties": {"repobilityId": "2dad4c6e32b46f83", "scanner": "scanner-primary", "fingerprint": "a2cd0fdb08601b3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9781e0b8d21c4218", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_glaziers.js:125"}, "properties": {"repobilityId": "fb0da30fdd36091f", "scanner": "scanner-primary", "fingerprint": "9781e0b8d21c4218", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cae020b7558cde2d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/generate_plumbers.js:44"}, "properties": {"repobilityId": "6bd67f37dd6aceac", "scanner": "scanner-primary", "fingerprint": "cae020b7558cde2d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0e59545be5b001b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_locksmiths.js:118"}, "properties": {"repobilityId": "d611205d551f9988", "scanner": "scanner-primary", "fingerprint": "f0e59545be5b001b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c66eacc15ed37a80", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_gas_engineers.js:125"}, "properties": {"repobilityId": "e002fe9525cd2003", "scanner": "scanner-primary", "fingerprint": "c66eacc15ed37a80", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f79618e51c097913", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/add_all_drain_specialists.js:125"}, "properties": {"repobilityId": "085073af924b1085", "scanner": "scanner-primary", "fingerprint": "f79618e51c097913", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a75128dc8723fc55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/find_missing_phones.ts:26"}, "properties": {"repobilityId": "fd6e7b3159eb2839", "scanner": "scanner-primary", "fingerprint": "a75128dc8723fc55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3f331cc85e024bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_locksmiths.ts:3"}, "properties": {"repobilityId": "e4b770df335747c2", "scanner": "scanner-primary", "fingerprint": "a3f331cc85e024bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-472c3d1af513f8b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maintenance/count_listings.ts:11"}, "properties": {"repobilityId": "f19a4ce5385818b2", "scanner": "scanner-primary", "fingerprint": "472c3d1af513f8b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42d6a70784bbad9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stt-backend/server.js:208"}, "properties": {"repobilityId": "e116bc735ba883d4", "scanner": "scanner-primary", "fingerprint": "42d6a70784bbad9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98b7ba02f8d4b594", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 _unused_quarantine/azureVoice.ts:53"}, "properties": {"repobilityId": "c7a61cb1a7d58455", "scanner": "scanner-primary", "fingerprint": "98b7ba02f8d4b594", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-398138deeafe2a86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/us_gap_filler.js:196"}, "properties": {"repobilityId": "0ee2c45ddb536296", "scanner": "scanner-primary", "fingerprint": "398138deeafe2a86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17236d41f7d8eaef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_all_us_cities.ts:123"}, "properties": {"repobilityId": "eff010d07ec9a3ec", "scanner": "scanner-primary", "fingerprint": "17236d41f7d8eaef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b6f31d4ace0a2b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:130"}, "properties": {"repobilityId": "6c2bf8d0fb36e87f", "scanner": "scanner-primary", "fingerprint": "1b6f31d4ace0a2b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3cb5c23def48673f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 excluded_forbidden_scripts/fetch-google-places.ts:102"}, "properties": {"repobilityId": "f42ec4608a7cd2eb", "scanner": "scanner-primary", "fingerprint": "3cb5c23def48673f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c109fca8003c3485", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/contexts/AuthContext.tsx:82"}, "properties": {"repobilityId": "b0560e613f912695", "scanner": "scanner-primary", "fingerprint": "c109fca8003c3485", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-61f230644faca42f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/FAQSection.tsx:37"}, "properties": {"repobilityId": "e18836b7cb465805", "scanner": "scanner-primary", "fingerprint": "61f230644faca42f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b6b2126a5a828133", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/MessagesInbox.tsx:101"}, "properties": {"repobilityId": "d0576c4481288e1a", "scanner": "scanner-primary", "fingerprint": "b6b2126a5a828133", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3395c42f54da761d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/PremiumModelerDialog.tsx:58"}, "properties": {"repobilityId": "6b4e3d7f3d2c04bf", "scanner": "scanner-primary", "fingerprint": "3395c42f54da761d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b19511ba537ec83e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/HierarchicalLocationSelector.tsx:143"}, "properties": {"repobilityId": "56b90f1e590158d3", "scanner": "scanner-primary", "fingerprint": "b19511ba537ec83e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f37781fa70bae7a1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/SiteSidePanel.tsx:217"}, "properties": {"repobilityId": "f2eddab910dc7ee0", "scanner": "scanner-primary", "fingerprint": "f37781fa70bae7a1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-43a88e0fddcd4bc9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/VoiceReporter.tsx:490"}, "properties": {"repobilityId": "35c79bc3b0020881", "scanner": "scanner-primary", "fingerprint": "43a88e0fddcd4bc9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1b1ff9f43e6e6b71", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/WantedPosterCard.tsx:127"}, "properties": {"repobilityId": "56b35af2fca81eff", "scanner": "scanner-primary", "fingerprint": "1b1ff9f43e6e6b71", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cbb58d2fe8fb9d5d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/USLocationSelector.tsx:139"}, "properties": {"repobilityId": "158c76533f675245", "scanner": "scanner-primary", "fingerprint": "cbb58d2fe8fb9d5d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-364d02567ccfef96", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/USCityCombobox.tsx:105"}, "properties": {"repobilityId": "d949836ad216e9cc", "scanner": "scanner-primary", "fingerprint": "364d02567ccfef96", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f34b4b9e9431bc06", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/GeneralFAQSection.tsx:181"}, "properties": {"repobilityId": "e98a0aee1983030b", "scanner": "scanner-primary", "fingerprint": "f34b4b9e9431bc06", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-daee6d3460394239", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/USPremiumModelerDialog.tsx:55"}, "properties": {"repobilityId": "11e3cdb98aee88e7", "scanner": "scanner-primary", "fingerprint": "daee6d3460394239", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-c707de3c5ba50c88", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/EmergencyChatInterface.tsx:628"}, "properties": {"repobilityId": "85a47218062234f0", "scanner": "scanner-primary", "fingerprint": "c707de3c5ba50c88", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5fc38819cb42cd3a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/AdminLayout.tsx:140"}, "properties": {"repobilityId": "57146b130cbbd3b5", "scanner": "scanner-primary", "fingerprint": "5fc38819cb42cd3a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6ba0ef1760517b36", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/VerificationModal.tsx:199"}, "properties": {"repobilityId": "45fa33e9cb930f90", "scanner": "scanner-primary", "fingerprint": "6ba0ef1760517b36", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3adac412dcb66a07", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/AlertCard.tsx:58"}, "properties": {"repobilityId": "f149501030c5563b", "scanner": "scanner-primary", "fingerprint": "3adac412dcb66a07", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5ea166ea8f7776ff", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/alerts/LiveLocalAlerts.tsx:218"}, "properties": {"repobilityId": "cf1e906a58d8616f", "scanner": "scanner-primary", "fingerprint": "5ea166ea8f7776ff", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-30da99ae04fe6ac8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile-editor/ServiceAreaTab.tsx:142"}, "properties": {"repobilityId": "d780ba1cd083764e", "scanner": "scanner-primary", "fingerprint": "30da99ae04fe6ac8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-86934539f084958d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/trust/TrustBadgeStack.tsx:42"}, "properties": {"repobilityId": "68f29e727e4ea1de", "scanner": "scanner-primary", "fingerprint": "86934539f084958d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1e0d1c585882aff7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/unused/earth-hero/HeroSection.tsx:197"}, "properties": {"repobilityId": "23a861526d6fa147", "scanner": "scanner-primary", "fingerprint": "1e0d1c585882aff7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b209c77e83b119fd", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:70"}, "properties": {"repobilityId": "b8c68f17a4018107", "scanner": "scanner-primary", "fingerprint": "b209c77e83b119fd", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8f0676a2cec82774", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/pages/BlogPostPage.tsx:1177"}, "properties": {"repobilityId": "a90ae52aa5d7cdd9", "scanner": "scanner-primary", "fingerprint": "8f0676a2cec82774", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d7522f24d2a148db", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/BusinessProfilePage.tsx:376"}, "properties": {"repobilityId": "28d34364e8f69227", "scanner": "scanner-primary", "fingerprint": "d7522f24d2a148db", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3fb41d9eaf3a86f8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Subscriptions.tsx:254"}, "properties": {"repobilityId": "4de2c3fe2da7a58f", "scanner": "scanner-primary", "fingerprint": "3fb41d9eaf3a86f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-79f1b8f3c1885268", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Photos.tsx:169"}, "properties": {"repobilityId": "f562ddec39c3ce38", "scanner": "scanner-primary", "fingerprint": "79f1b8f3c1885268", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bba49d301b377f26", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/admin/Quotes.tsx:238"}, "properties": {"repobilityId": "7962dede8167dd18", "scanner": "scanner-primary", "fingerprint": "bba49d301b377f26", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-809fae3b8a36acb2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/usage-logger.ts:59"}, "properties": {"repobilityId": "83030c9c49fe0475", "scanner": "scanner-primary", "fingerprint": "809fae3b8a36acb2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbb56f478d097c8c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/devLog.ts:9"}, "properties": {"repobilityId": "aae2ad9013c38458", "scanner": "scanner-primary", "fingerprint": "dbb56f478d097c8c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1579259b19ef1f72", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tmp/extract_intended_dates.js:38"}, "properties": {"repobilityId": "3c38b273af321dd0", "scanner": "scanner-primary", "fingerprint": "1579259b19ef1f72", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2483d00a1fcd9478", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tmp/fix_blog_dates.js:59"}, "properties": {"repobilityId": "6a47a779876f8091", "scanner": "scanner-primary", "fingerprint": "2483d00a1fcd9478", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31b6c5e4b91cccce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tmp/audit_posts.js:27"}, "properties": {"repobilityId": "db10788473f26453", "scanner": "scanner-primary", "fingerprint": "31b6c5e4b91cccce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fd6fbe4fa6534f8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/process-voice/index.ts:53"}, "properties": {"repobilityId": "3a9976e54e2a66a1", "scanner": "scanner-primary", "fingerprint": "7fd6fbe4fa6534f8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-758611fd1f0ffadd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/notify-quote/index.ts:143"}, "properties": {"repobilityId": "66c9d07eec4ef757", "scanner": "scanner-primary", "fingerprint": "758611fd1f0ffadd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69bf654ebdc58f88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/mailmeteor-webhook/index.ts:43"}, "properties": {"repobilityId": "767c45d67fa0073e", "scanner": "scanner-primary", "fingerprint": "69bf654ebdc58f88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53f54701c32eaf30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fetch-jit-listings/index.ts:52"}, "properties": {"repobilityId": "716aa21b20bdceb7", "scanner": "scanner-primary", "fingerprint": "53f54701c32eaf30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf64a79b4e22714a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/stripe-webhook/index.ts:42"}, "properties": {"repobilityId": "7c738a141c293866", "scanner": "scanner-primary", "fingerprint": "bf64a79b4e22714a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6324dadb8954790c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-orchestrator/index.ts:43"}, "properties": {"repobilityId": "73bde92272764bf5", "scanner": "scanner-primary", "fingerprint": "6324dadb8954790c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6812de14cc8cf06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public/firebase-messaging-sw.js:21"}, "properties": {"repobilityId": "720f798f5fa18ba2", "scanner": "scanner-primary", "fingerprint": "c6812de14cc8cf06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1a0fd344e7a9c26", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:9"}, "properties": {"repobilityId": "93780439d0f19cd9", "scanner": "scanner-primary", "fingerprint": "d1a0fd344e7a9c26", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-c5e25d267ef24c6a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:9"}, "properties": {"repobilityId": "fd657a5b531d69ce", "scanner": "scanner-primary", "fingerprint": "c5e25d267ef24c6a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a14fc2a63d0a8349", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "606275b5d9bebe58", "scanner": "scanner-primary", "fingerprint": "a14fc2a63d0a8349", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3ee18eaf4aa8763c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0ec~~kbfm4i2s.js:1"}, "properties": {"repobilityId": "c0f9195c1a3a7944", "scanner": "scanner-primary", "fingerprint": "3ee18eaf4aa8763c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0a68245364cb8a2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0x4w~922dktpg.js:31"}, "properties": {"repobilityId": "a0bcd599001959db", "scanner": "scanner-primary", "fingerprint": "f0a68245364cb8a2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-de2a961f37169cd4", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/15aoe-he903yt.js:1"}, "properties": {"repobilityId": "49b5ea669c8c4a7d", "scanner": "scanner-primary", "fingerprint": "de2a961f37169cd4", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e2db39415f7496c2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0g24~7banqjbw.js:1"}, "properties": {"repobilityId": "c31d74521e74180b", "scanner": "scanner-primary", "fingerprint": "e2db39415f7496c2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ca8089c8b8331d7f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in temp_restore_utf8.tsx:3031"}, "properties": {"repobilityId": "4c6060218949db5c", "scanner": "scanner-primary", "fingerprint": "ca8089c8b8331d7f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "temp_restore_utf8.tsx"}, "region": {"startLine": 3031}}}]}, {"ruleId": "scanner-12d1749b4e72eaae", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in index.html:178"}, "properties": {"repobilityId": "8f2a167064b03ceb", "scanner": "scanner-primary", "fingerprint": "12d1749b4e72eaae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-d18ceb953ba25bc6", "level": "error", "message": {"text": "Possible secret in scripts/verify_elevenlabs_alt.js"}, "properties": {"repobilityId": "1b538fcc6fc70d8a", "scanner": "scanner-primary", "fingerprint": "d18ceb953ba25bc6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify_elevenlabs_alt.js"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-8858ccf60567bd1c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/master_ingester.js:1"}, "properties": {"repobilityId": "cc247bdf8cfe3cdb", "scanner": "scanner-primary", "fingerprint": "8858ccf60567bd1c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/master_ingester.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d4b686712f06b4d", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in scripts/sync_listings.ts:41"}, "properties": {"repobilityId": "c8f0d0268bf55d7f", "scanner": "scanner-primary", "fingerprint": "6d4b686712f06b4d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/sync_listings.ts"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-d659c556c684c5f7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/set-secrets.js:2"}, "properties": {"repobilityId": "4888354af436158b", "scanner": "scanner-primary", "fingerprint": "d659c556c684c5f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/set-secrets.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-de32c643854ce15d", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in scripts/set-service-role-secret.js:35"}, "properties": {"repobilityId": "39747689181e0d97", "scanner": "scanner-primary", "fingerprint": "de32c643854ce15d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/set-service-role-secret.js"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-e8f815ec9833bf89", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/set-service-role-secret.js:2"}, "properties": {"repobilityId": "d957d48f1dba49f5", "scanner": "scanner-primary", "fingerprint": "e8f815ec9833bf89", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/set-service-role-secret.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-a16c9d9ec3ce5fba", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in scripts/set-sendgrid-secrets.js:35"}, "properties": {"repobilityId": "0e5b4498db5402b9", "scanner": "scanner-primary", "fingerprint": "a16c9d9ec3ce5fba", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/set-sendgrid-secrets.js"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-fbed3348d575a5cd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/set-sendgrid-secrets.js:2"}, "properties": {"repobilityId": "fb208fbac95395e4", "scanner": "scanner-primary", "fingerprint": "fbed3348d575a5cd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/set-sendgrid-secrets.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-9f292ed7fd935ac3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/setup-password-security.cjs:3"}, "properties": {"repobilityId": "57e7e0777e83787a", "scanner": "scanner-primary", "fingerprint": "9f292ed7fd935ac3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/setup-password-security.cjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-b310e72b3dc1caac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/continuous_auditor.cjs:1"}, "properties": {"repobilityId": "2bc22687644530e0", "scanner": "scanner-primary", "fingerprint": "b310e72b3dc1caac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/continuous_auditor.cjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-111b4523f4e50ebd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/apply-stripe-config.js:4"}, "properties": {"repobilityId": "2efc2f6ca61abdc2", "scanner": "scanner-primary", "fingerprint": "111b4523f4e50ebd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/apply-stripe-config.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-afa4f7e9d47354bf", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/FAQSection.tsx:37"}, "properties": {"repobilityId": "70e1a43e2bb30f9c", "scanner": "scanner-primary", "fingerprint": "afa4f7e9d47354bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/FAQSection.tsx"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-18ec99abcb93a700", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/PremiumModelerDialog.tsx:58"}, "properties": {"repobilityId": "ab76a9adc04a2cae", "scanner": "scanner-primary", "fingerprint": "18ec99abcb93a700", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/PremiumModelerDialog.tsx"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-420fbc79205a9960", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/MobilePreviewWrapper.tsx:188"}, "properties": {"repobilityId": "227c7901a3a8a26e", "scanner": "scanner-primary", "fingerprint": "420fbc79205a9960", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/MobilePreviewWrapper.tsx"}, "region": {"startLine": 188}}}]}, {"ruleId": "scanner-dc01fcc4508d11cc", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/GeneralFAQSection.tsx:181"}, "properties": {"repobilityId": "323d3243bc83874f", "scanner": "scanner-primary", "fingerprint": "dc01fcc4508d11cc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/GeneralFAQSection.tsx"}, "region": {"startLine": 181}}}]}, {"ruleId": "scanner-bd6b384c29a105d5", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/USPremiumModelerDialog.tsx:55"}, "properties": {"repobilityId": "0a0433cc1b19b5d3", "scanner": "scanner-primary", "fingerprint": "bd6b384c29a105d5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/USPremiumModelerDialog.tsx"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-93d0283845aa2c2d", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:70"}, "properties": {"repobilityId": "33f10636e53b4298", "scanner": "scanner-primary", "fingerprint": "93d0283845aa2c2d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/ui/chart.tsx"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-3ee623d45461b6a5", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/pages/PricingPage.tsx:111"}, "properties": {"repobilityId": "97c04f0a53689cec", "scanner": "scanner-primary", "fingerprint": "3ee623d45461b6a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/pages/PricingPage.tsx"}, "region": {"startLine": 111}}}]}, {"ruleId": "scanner-17673f754e232a2f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/pages/BlogPostPage.tsx:1177"}, "properties": {"repobilityId": "11dbb9a9c33ca685", "scanner": "scanner-primary", "fingerprint": "17673f754e232a2f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/pages/BlogPostPage.tsx"}, "region": {"startLine": 1177}}}]}, {"ruleId": "scanner-673b63dc0d8ad7fe", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/lib/firebase.ts:127"}, "properties": {"repobilityId": "7638620b51de6224", "scanner": "scanner-primary", "fingerprint": "673b63dc0d8ad7fe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/firebase.ts"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-fa10deb8a103bc68", "level": "warning", "message": {"text": "Insecure pattern 'domparser_html_parse' in src/lib/enrichment/checkWebsite.ts:47"}, "properties": {"repobilityId": "db3ee04a67c4719a", "scanner": "scanner-primary", "fingerprint": "fa10deb8a103bc68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "domparser_html_parse"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/enrichment/checkWebsite.ts"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-845256232081d543", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/lib/alerts/server.ts:274"}, "properties": {"repobilityId": "508e8d58a69feeeb", "scanner": "scanner-primary", "fingerprint": "845256232081d543", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/alerts/server.ts"}, "region": {"startLine": 274}}}]}, {"ruleId": "scanner-c66586dd800e9186", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:5"}, "properties": {"repobilityId": "178f92d0ca5f403c", "scanner": "scanner-primary", "fingerprint": "c66586dd800e9186", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/send-sms/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-7327708b7708d8c5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-email/index.ts:6"}, "properties": {"repobilityId": "deaf722fb6438a69", "scanner": "scanner-primary", "fingerprint": "7327708b7708d8c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/send-email/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-2394aa36c0cad284", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/process-voice/index.ts:4"}, "properties": {"repobilityId": "5c5f432829a627e7", "scanner": "scanner-primary", "fingerprint": "2394aa36c0cad284", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/process-voice/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-b2d77afc9e35dad3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-quote/index.ts:5"}, "properties": {"repobilityId": "094cf3972ff91a20", "scanner": "scanner-primary", "fingerprint": "b2d77afc9e35dad3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/notify-quote/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-94ccc4da85ca218b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/create-portal-session/index.ts:6"}, "properties": {"repobilityId": "a73ec8c300f6b3f2", "scanner": "scanner-primary", "fingerprint": "94ccc4da85ca218b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/create-portal-session/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-18011ac255e7aa3f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/fetch-jit-listings/index.ts:7"}, "properties": {"repobilityId": "22670ef399033b17", "scanner": "scanner-primary", "fingerprint": "18011ac255e7aa3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/fetch-jit-listings/index.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c77973006c1ae4e9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/newsletter-subscribe/index.ts:7"}, "properties": {"repobilityId": "330fb57931ec4cae", "scanner": "scanner-primary", "fingerprint": "c77973006c1ae4e9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/newsletter-subscribe/index.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-021e165efb5a6106", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/stripe-webhook/index.ts:6"}, "properties": {"repobilityId": "37ab8b4c9da13a4c", "scanner": "scanner-primary", "fingerprint": "021e165efb5a6106", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/stripe-webhook/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-a0353163d5c61ebf", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-orchestrator/index.ts:5"}, "properties": {"repobilityId": "2b689fd902e4e133", "scanner": "scanner-primary", "fingerprint": "a0353163d5c61ebf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-orchestrator/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-25e5867eb6734d20", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "80f992744f6570af", "scanner": "scanner-primary", "fingerprint": "25e5867eb6734d20", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/audit_links.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-f82b6fbe85888581", "level": "note", "message": {"text": "Very large file: temp_restore.tsx (3310 lines)"}, "properties": {"repobilityId": "3b37a5cf1226ea15", "scanner": "scanner-primary", "fingerprint": "f82b6fbe85888581", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47ee19d5b9876b0c", "level": "note", "message": {"text": "Very large file: temp_restore_utf8.tsx (3310 lines)"}, "properties": {"repobilityId": "456322c48d47d783", "scanner": "scanner-primary", "fingerprint": "47ee19d5b9876b0c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-77ac94c7f7f73cc8", "level": "note", "message": {"text": "Very large file: emergency-brain.js (1207 lines)"}, "properties": {"repobilityId": "f003b054fc0f7bea", "scanner": "scanner-primary", "fingerprint": "77ac94c7f7f73cc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28a5a487da11dace", "level": "note", "message": {"text": "Very large file: src/components/EmergencyChatInterface.tsx (1407 lines)"}, "properties": {"repobilityId": "481ab04685cd7c7d", "scanner": "scanner-primary", "fingerprint": "28a5a487da11dace", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a28938c88a7b471", "level": "note", "message": {"text": "Very large file: src/components/landing3/Hero3D.tsx (1870 lines)"}, "properties": {"repobilityId": "663883dd9cc7c6ca", "scanner": "scanner-primary", "fingerprint": "6a28938c88a7b471", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ccf5a9178d5ff296", "level": "note", "message": {"text": "Very large file: src/pages/BlogPostPage.tsx (1416 lines)"}, "properties": {"repobilityId": "52698b3257bd9bc7", "scanner": "scanner-primary", "fingerprint": "ccf5a9178d5ff296", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e39c5ed6fe3a1fa8", "level": "note", "message": {"text": "Very large file: src/pages/TradeCityPage.tsx (1309 lines)"}, "properties": {"repobilityId": "87d4fd5b8ceddf40", "scanner": "scanner-primary", "fingerprint": "e39c5ed6fe3a1fa8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2d09c70e76738b7", "level": "note", "message": {"text": "Very large file: src/pages/BusinessProfilePage.tsx (880 lines)"}, "properties": {"repobilityId": "9018d5a925894d03", "scanner": "scanner-primary", "fingerprint": "f2d09c70e76738b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-85477a692dfddecb", "level": "note", "message": {"text": "Very large file: src/lib/emergency-brain.ts (1095 lines)"}, "properties": {"repobilityId": "db41bf02cfe1316e", "scanner": "scanner-primary", "fingerprint": "85477a692dfddecb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "8a27de65f5d9afc0", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2ab335b8989ac4fc", "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": "a4a44e22537544a6", "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": "a4d51e5c108d2bda", "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": "25b09acbe6b3a18a", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "f4d7e75fea8c6e56", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57c3f296e1f8cb9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_live_refrigerant_gb.js:10"}, "properties": {"repobilityId": "1ba9f32423852e5f", "scanner": "scanner-primary", "fingerprint": "57c3f296e1f8cb9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ce2e4efd0c83775", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fix_index_visuals.py:25"}, "properties": {"repobilityId": "ba97e6da88fe0d22", "scanner": "scanner-primary", "fingerprint": "4ce2e4efd0c83775", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-926206b0be87dfd9", "level": "none", "message": {"text": "Commented-code block (25 lines) in scripts/recover_mojibake.py:7"}, "properties": {"repobilityId": "a9a37acaaae87976", "scanner": "scanner-primary", "fingerprint": "926206b0be87dfd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac317f09cb474bc8", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/insert_phase5_tier3.py:49"}, "properties": {"repobilityId": "bd7e6ec7d60e7dc6", "scanner": "scanner-primary", "fingerprint": "ac317f09cb474bc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6efc28cb45bb805", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/insert_gas_drain_nw.py:31"}, "properties": {"repobilityId": "6c5875ea16c782fc", "scanner": "scanner-primary", "fingerprint": "c6efc28cb45bb805", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0d2022bcc7aa127", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/finalize-dev-account.js:75"}, "properties": {"repobilityId": "ab4e11fd4e15cf46", "scanner": "scanner-primary", "fingerprint": "a0d2022bcc7aa127", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-313af8c3c4892727", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_blogs.py:229"}, "properties": {"repobilityId": "b98fdac7baa41f45", "scanner": "scanner-primary", "fingerprint": "313af8c3c4892727", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe41ad9a2ba34fd9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/apps-script-email-sender.js:193"}, "properties": {"repobilityId": "9c52308b75e7cee4", "scanner": "scanner-primary", "fingerprint": "fe41ad9a2ba34fd9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-da1a304e18e4142b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions.py:36"}, "properties": {"repobilityId": "51b116e4f4433589", "scanner": "scanner-primary", "fingerprint": "da1a304e18e4142b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc8f2bb54fc11e55", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_foursquare_reviews.js:57"}, "properties": {"repobilityId": "adecf1776e927e57", "scanner": "scanner-primary", "fingerprint": "fc8f2bb54fc11e55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ca8cdf6bbae0af4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_security_hero_image.js:10"}, "properties": {"repobilityId": "b102635be6d14a37", "scanner": "scanner-primary", "fingerprint": "9ca8cdf6bbae0af4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c98ac813b59548aa", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_maps.py:14"}, "properties": {"repobilityId": "2530c086783a6938", "scanner": "scanner-primary", "fingerprint": "c98ac813b59548aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-869346e6700d5232", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business.py:62"}, "properties": {"repobilityId": "e28d9354e8d226c6", "scanner": "scanner-primary", "fingerprint": "869346e6700d5232", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83a99329971189e9", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_social_check.py:26"}, "properties": {"repobilityId": "7449bd7b2f16f731", "scanner": "scanner-primary", "fingerprint": "83a99329971189e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4cbc7a6475b0fdf9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_amazon_btn.js:10"}, "properties": {"repobilityId": "b2c8f48ad6afde6e", "scanner": "scanner-primary", "fingerprint": "4cbc7a6475b0fdf9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d859d309e3ce508", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/test_rpc.js:14"}, "properties": {"repobilityId": "2c6a267410474af9", "scanner": "scanner-primary", "fingerprint": "7d859d309e3ce508", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dc589ea26230d99", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fill_usa_gaps.py:310"}, "properties": {"repobilityId": "98529afceebf4605", "scanner": "scanner-primary", "fingerprint": "8dc589ea26230d99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-608d0f12af70a5e8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_chinese_chars.js:24"}, "properties": {"repobilityId": "66859d8878ccb133", "scanner": "scanner-primary", "fingerprint": "608d0f12af70a5e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82f31b10c07449a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_costway_section.js:11"}, "properties": {"repobilityId": "56235a7c38200953", "scanner": "scanner-primary", "fingerprint": "82f31b10c07449a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a026859b78af4990", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/audit_uk_data_integrity.py:36"}, "properties": {"repobilityId": "9c4d8b9bfb48ab06", "scanner": "scanner-primary", "fingerprint": "a026859b78af4990", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9516fbfd859185d0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v3.py:60"}, "properties": {"repobilityId": "c1d0dbfdd2f74e9f", "scanner": "scanner-primary", "fingerprint": "9516fbfd859185d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9bc5abb73374d0d0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_images.py:28"}, "properties": {"repobilityId": "f653a49b3f5de60b", "scanner": "scanner-primary", "fingerprint": "9bc5abb73374d0d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8eb29476cd17be2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_neobrutalism_issues.js:33"}, "properties": {"repobilityId": "0e95565f63ead18f", "scanner": "scanner-primary", "fingerprint": "8eb29476cd17be2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d7dde7c4a4430ddb", "level": "note", "message": {"text": "Legacy-named symbol `trade_onchange_old` in scripts/implement_routing.py:36"}, "properties": {"repobilityId": "5d42f418bf0c14df", "scanner": "scanner-primary", "fingerprint": "d7dde7c4a4430ddb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-46c3a5656a455fb8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_us_resilience.js:12"}, "properties": {"repobilityId": "06eed2632c498786", "scanner": "scanner-primary", "fingerprint": "46c3a5656a455fb8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-30fb9e194f6cc949", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_costway_orphan.js:10"}, "properties": {"repobilityId": "df8226f48ef73aa5", "scanner": "scanner-primary", "fingerprint": "30fb9e194f6cc949", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c6d633d6389ef871", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit_uk_duplicates.py:91"}, "properties": {"repobilityId": "84ddc436f65014af", "scanner": "scanner-primary", "fingerprint": "c6d633d6389ef871", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-207ce17013316cbb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_buttons.js:17"}, "properties": {"repobilityId": "1c6cd77c86227154", "scanner": "scanner-primary", "fingerprint": "207ce17013316cbb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-037bb200fc01950c", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit_uk_locations.py:79"}, "properties": {"repobilityId": "edf820b07fb94325", "scanner": "scanner-primary", "fingerprint": "037bb200fc01950c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea8d10f1777fc518", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/force_reload_schema.py:38"}, "properties": {"repobilityId": "480e9126f91638a6", "scanner": "scanner-primary", "fingerprint": "ea8d10f1777fc518", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-09f18b72c67b7930", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_search.py:14"}, "properties": {"repobilityId": "ce47fe7d21d31277", "scanner": "scanner-primary", "fingerprint": "09f18b72c67b7930", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b93c8b14099511b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_refrigerant_gb.js:10"}, "properties": {"repobilityId": "c7933b86e67cb58f", "scanner": "scanner-primary", "fingerprint": "b93c8b14099511b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6875ee1b71c944b9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_uk_report.py:59"}, "properties": {"repobilityId": "11421d3218010af2", "scanner": "scanner-primary", "fingerprint": "6875ee1b71c944b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-76f5a4adda8bd778", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/repair_chat_interface.py:18"}, "properties": {"repobilityId": "94684f892277e24c", "scanner": "scanner-primary", "fingerprint": "76f5a4adda8bd778", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55a181121a293f81", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_elements.js:14"}, "properties": {"repobilityId": "60f72a3c4fa94307", "scanner": "scanner-primary", "fingerprint": "55a181121a293f81", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-43e6d2b5ba281dee", "level": "none", "message": {"text": "Commented-code block (15 lines) in scripts/repair_index.py:35"}, "properties": {"repobilityId": "7c059dd5f155bae2", "scanner": "scanner-primary", "fingerprint": "43e6d2b5ba281dee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7984cb3b9c65701", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_refrigerant_gb_hero.js:10"}, "properties": {"repobilityId": "4140d81c65d4da91", "scanner": "scanner-primary", "fingerprint": "d7984cb3b9c65701", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8003b56003649fdc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_mould_blogs.js:12"}, "properties": {"repobilityId": "b56fea3980b3a3f8", "scanner": "scanner-primary", "fingerprint": "8003b56003649fdc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae99b0f3ff975f6b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/generate_us_report.py:61"}, "properties": {"repobilityId": "2709bf4eb083e135", "scanner": "scanner-primary", "fingerprint": "ae99b0f3ff975f6b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aef030e41bbb242e", "level": "note", "message": {"text": "Legacy-named symbol `save_to_backup` in scripts/enrich_us_socials.py:188"}, "properties": {"repobilityId": "c831c7889bc89513", "scanner": "scanner-primary", "fingerprint": "aef030e41bbb242e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ee1b879823fb083f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/insert_accrington_full.py:170"}, "properties": {"repobilityId": "7854f6bb194a212c", "scanner": "scanner-primary", "fingerprint": "ee1b879823fb083f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-567ae3487b371c63", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/audit_listings.cjs:62"}, "properties": {"repobilityId": "b6e3203fb1965bda", "scanner": "scanner-primary", "fingerprint": "567ae3487b371c63", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bb660e98d691c48", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown.mjs:39"}, "properties": {"repobilityId": "2d169e4ad789b9a3", "scanner": "scanner-primary", "fingerprint": "4bb660e98d691c48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-37150f43cb98b8c2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/diagnose_stats.py:36"}, "properties": {"repobilityId": "924dac7be91d463a", "scanner": "scanner-primary", "fingerprint": "37150f43cb98b8c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eeb0a091774e768a", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/recover_from_lib_file.py:62"}, "properties": {"repobilityId": "577577d1798bbd8f", "scanner": "scanner-primary", "fingerprint": "eeb0a091774e768a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d22f845b89ea10f5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_hero.js:10"}, "properties": {"repobilityId": "8e1d78058fc48395", "scanner": "scanner-primary", "fingerprint": "d22f845b89ea10f5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1314668ba847285e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_gb_listings.py:35"}, "properties": {"repobilityId": "bbb97aa869917dfa", "scanner": "scanner-primary", "fingerprint": "1314668ba847285e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1833ceede9c6d3cd", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/convert_backup_to_json.py:4"}, "properties": {"repobilityId": "4d0cb01ede2495a0", "scanner": "scanner-primary", "fingerprint": "1833ceede9c6d3cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ec608ea08af8bf25", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_dallas.ts:138"}, "properties": {"repobilityId": "bb5ab2001e462506", "scanner": "scanner-primary", "fingerprint": "ec608ea08af8bf25", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-05dd15a4cae8c632", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/sync_listings.ts:42"}, "properties": {"repobilityId": "412379f5cbd44baf", "scanner": "scanner-primary", "fingerprint": "05dd15a4cae8c632", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe65f6251fba5f1b", "level": "note", "message": {"text": "Legacy-named symbol `locations_old` in scripts/list_tables.ts:32"}, "properties": {"repobilityId": "a7686036c5f9e90c", "scanner": "scanner-primary", "fingerprint": "fe65f6251fba5f1b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d2cb8b4e9330107e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check_deduplication.js:13"}, "properties": {"repobilityId": "0d04214aa2f37ddb", "scanner": "scanner-primary", "fingerprint": "d2cb8b4e9330107e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-476766805eefe868", "level": "none", "message": {"text": "Commented-code block (16 lines) in scripts/insert_blackburn_prelim.py:37"}, "properties": {"repobilityId": "ff78a57411829b1c", "scanner": "scanner-primary", "fingerprint": "476766805eefe868", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9edd87693b1af335", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_costway_image.js:10"}, "properties": {"repobilityId": "43e17f2c5c794b0d", "scanner": "scanner-primary", "fingerprint": "9edd87693b1af335", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-08509acfbf9c7ed6", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_listings.py:15"}, "properties": {"repobilityId": "5d14308277ab685e", "scanner": "scanner-primary", "fingerprint": "08509acfbf9c7ed6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-93c5eb054493810d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/enrich_listings.py:252"}, "properties": {"repobilityId": "ad780af50c8c7ab4", "scanner": "scanner-primary", "fingerprint": "93c5eb054493810d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e62a4880f546831a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_smart_leak_us_hero.js:10"}, "properties": {"repobilityId": "563e44b3a039c9a6", "scanner": "scanner-primary", "fingerprint": "e62a4880f546831a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb5e7a6f64f5ba25", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/remove_uk_duplicates.py:75"}, "properties": {"repobilityId": "c8022725d94773ea", "scanner": "scanner-primary", "fingerprint": "fb5e7a6f64f5ba25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-009a6498c994b365", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_duplicate_image.js:10"}, "properties": {"repobilityId": "8840bf9d6261f1fc", "scanner": "scanner-primary", "fingerprint": "009a6498c994b365", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cba28864fd0528fe", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/mark_all_verified.py:27"}, "properties": {"repobilityId": "e40d85582bb1e888", "scanner": "scanner-primary", "fingerprint": "cba28864fd0528fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c9c3584bb441893", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_ghost_costway.js:10"}, "properties": {"repobilityId": "6d3fb878d269ea98", "scanner": "scanner-primary", "fingerprint": "4c9c3584bb441893", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-49d0c2275a14159e", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/audit_uk_listings_status.py:20"}, "properties": {"repobilityId": "c01c844251cf5869", "scanner": "scanner-primary", "fingerprint": "49d0c2275a14159e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2aeb345ce9e4e2f2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/update_sewer_backup_gb_hero.js:10"}, "properties": {"repobilityId": "f5c7bbc211aa9480", "scanner": "scanner-primary", "fingerprint": "2aeb345ce9e4e2f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ac0c3e03fde1b163", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/find_orphaned_btn.js:10"}, "properties": {"repobilityId": "7b9984770ad0b929", "scanner": "scanner-primary", "fingerprint": "ac0c3e03fde1b163", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-72ff3c9e8ce45b57", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_refrigerant_gb_duplicate.js:11"}, "properties": {"repobilityId": "11f8e3cfd0495717", "scanner": "scanner-primary", "fingerprint": "72ff3c9e8ce45b57", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d798984e9fdbf421", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/update_blog_image.py:22"}, "properties": {"repobilityId": "0554059a198b9f7c", "scanner": "scanner-primary", "fingerprint": "d798984e9fdbf421", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-156a467664224260", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_schema_cache.py:36"}, "properties": {"repobilityId": "30771f47675f7c04", "scanner": "scanner-primary", "fingerprint": "156a467664224260", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47746dc57174cf3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/show_orphaned_context.js:10"}, "properties": {"repobilityId": "84ef16b5cbb877e1", "scanner": "scanner-primary", "fingerprint": "47746dc57174cf3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-93ee75da45e350c0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify_live_data.js:30"}, "properties": {"repobilityId": "c4c7a91fa2434b64", "scanner": "scanner-primary", "fingerprint": "93ee75da45e350c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7276366f980fa20", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/sync_scraped_data.py:84"}, "properties": {"repobilityId": "198d6b81bd976685", "scanner": "scanner-primary", "fingerprint": "c7276366f980fa20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f0d2786553c9eef4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sync_scraped_data.py:64"}, "properties": {"repobilityId": "25a67aeaae8025d6", "scanner": "scanner-primary", "fingerprint": "f0d2786553c9eef4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d34023c74841fffe", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/import_phase24_batch1.py:40"}, "properties": {"repobilityId": "b9101f7f157556ab", "scanner": "scanner-primary", "fingerprint": "d34023c74841fffe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd7b1dd2d32a9695", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/migrate_business_v2.py:57"}, "properties": {"repobilityId": "cd0e97c98e5bbf4e", "scanner": "scanner-primary", "fingerprint": "bd7b1dd2d32a9695", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2b862045ec669f4a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_regions_v2.py:38"}, "properties": {"repobilityId": "37b8ca4f376b7e97", "scanner": "scanner-primary", "fingerprint": "2b862045ec669f4a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7ffe9dee3507d07", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_uk.py:275"}, "properties": {"repobilityId": "3f8211ce0f6b9c91", "scanner": "scanner-primary", "fingerprint": "c7ffe9dee3507d07", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-05aeaaa3acb2a69e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/purge_no_phone.py:22"}, "properties": {"repobilityId": "7dd2d3a0c6072486", "scanner": "scanner-primary", "fingerprint": "05aeaaa3acb2a69e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-971cfa5a2ffa2d32", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_orphaned_button_block.js:10"}, "properties": {"repobilityId": "f852bdb2b4b4ff74", "scanner": "scanner-primary", "fingerprint": "971cfa5a2ffa2d32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4731d4e7716cc8ee", "level": "note", "message": {"text": "Legacy-named symbol `main_sewer_line_clog_us_backup` in scripts/insert_day39_blog.js:37"}, "properties": {"repobilityId": "54fc1b4622989d65", "scanner": "scanner-primary", "fingerprint": "4731d4e7716cc8ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b1f417de7bb86de2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/find_just_created.py:34"}, "properties": {"repobilityId": "643df51078236e2b", "scanner": "scanner-primary", "fingerprint": "b1f417de7bb86de2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8cc55b739e4f9228", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_extra_closing_divs.js:16"}, "properties": {"repobilityId": "772a8509c1197c1b", "scanner": "scanner-primary", "fingerprint": "8cc55b739e4f9228", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-047bd9e314361ea3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_london_breakdown_more.mjs:39"}, "properties": {"repobilityId": "35b3e4181e556601", "scanner": "scanner-primary", "fingerprint": "047bd9e314361ea3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a83dc0c5cb34f223", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/update_us_blog_image.py:22"}, "properties": {"repobilityId": "5c9f9daf0e0715b9", "scanner": "scanner-primary", "fingerprint": "a83dc0c5cb34f223", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bad477182564936f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_amazon_containers.js:50"}, "properties": {"repobilityId": "395305920390f8a6", "scanner": "scanner-primary", "fingerprint": "bad477182564936f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8d44c547929f4fa3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_photos_source.py:31"}, "properties": {"repobilityId": "4bac151632c11452", "scanner": "scanner-primary", "fingerprint": "8d44c547929f4fa3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-53f17a95b8a1efbe", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/orchestrator_us.py:200"}, "properties": {"repobilityId": "2cee2b2e0ea8df98", "scanner": "scanner-primary", "fingerprint": "53f17a95b8a1efbe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-668fc6a02ca17e33", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/export-batch2.mjs:20"}, "properties": {"repobilityId": "96ca9c04c31d9b9f", "scanner": "scanner-primary", "fingerprint": "668fc6a02ca17e33", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9999729382e3f66f", "level": "note", "message": {"text": "Legacy-named symbol `master_reset_v2` in scripts/verify_insert_permission.js:78"}, "properties": {"repobilityId": "c8ffdb70988876ea", "scanner": "scanner-primary", "fingerprint": "9999729382e3f66f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d8cf0c0cdf1476e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_remaining_divs.js:16"}, "properties": {"repobilityId": "dcefe2d02e8764ff", "scanner": "scanner-primary", "fingerprint": "d8cf0c0cdf1476e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cb6bea6cc40a7562", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_google.py:14"}, "properties": {"repobilityId": "66ecbc592465ed34", "scanner": "scanner-primary", "fingerprint": "cb6bea6cc40a7562", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-699f6400906af6f2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_real_reviews.js:61"}, "properties": {"repobilityId": "e7edd0c8061523d7", "scanner": "scanner-primary", "fingerprint": "699f6400906af6f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-62a1fba2d734bbc1", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in scripts/update_old_logos.py:26"}, "properties": {"repobilityId": "bca022118a86d0cb", "scanner": "scanner-primary", "fingerprint": "62a1fba2d734bbc1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-747f69773977d7a1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sample_unverified.py:19"}, "properties": {"repobilityId": "4a0224fb87b92bfb", "scanner": "scanner-primary", "fingerprint": "747f69773977d7a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-31d1e8e390d053bd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/investigate_uk.py:20"}, "properties": {"repobilityId": "6e801a5583676926", "scanner": "scanner-primary", "fingerprint": "31d1e8e390d053bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bb047f83f5f0a5d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_product_box_image.js:11"}, "properties": {"repobilityId": "de10b5b3482f2ce0", "scanner": "scanner-primary", "fingerprint": "bb047f83f5f0a5d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-501f111f1dcb15a6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_trades.py:36"}, "properties": {"repobilityId": "241621cb0152c4de", "scanner": "scanner-primary", "fingerprint": "501f111f1dcb15a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b1fe7cb89a6f2a80", "level": "note", "message": {"text": "Legacy-named symbol `create_initial_business_v2` in scripts/check_rpc.js:25"}, "properties": {"repobilityId": "b4876c1fe8ad2a17", "scanner": "scanner-primary", "fingerprint": "b1fe7cb89a6f2a80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7d07ac21ec74eb0f", "level": "note", "message": {"text": "Legacy-named symbol `debug_scraper_v2` in scripts/debug_scraper_v2.py:7"}, "properties": {"repobilityId": "e7c278ab3bfa948b", "scanner": "scanner-primary", "fingerprint": "7d07ac21ec74eb0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-100f60f09a3143c6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/remove_first_orphaned_section.js:10"}, "properties": {"repobilityId": "b8a34d08a95171e7", "scanner": "scanner-primary", "fingerprint": "100f60f09a3143c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c95ae6ad027c262c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/audit_gaps.py:37"}, "properties": {"repobilityId": "1fa3166d92795f4d", "scanner": "scanner-primary", "fingerprint": "c95ae6ad027c262c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd4d9813714f8230", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/restore_refrigerant_gb_product_box.js:10"}, "properties": {"repobilityId": "b2bd4479cb7c260a", "scanner": "scanner-primary", "fingerprint": "dd4d9813714f8230", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb48b147c50ceb3d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/publish_todays_blogs.py:374"}, "properties": {"repobilityId": "a066b6db170770c0", "scanner": "scanner-primary", "fingerprint": "eb48b147c50ceb3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1fe05f6b91ca3213", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fix_index_visuals_strict.py:27"}, "properties": {"repobilityId": "823b6b91443ca8fe", "scanner": "scanner-primary", "fingerprint": "1fe05f6b91ca3213", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28bd8bc9349ace3d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_large_paragraphs.js:32"}, "properties": {"repobilityId": "e06f4f43a5b1f11f", "scanner": "scanner-primary", "fingerprint": "28bd8bc9349ace3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-caba860c1013df7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/update_chat_interface.py:27"}, "properties": {"repobilityId": "143dff8b0a045d65", "scanner": "scanner-primary", "fingerprint": "caba860c1013df7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a964ee9a96686669", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_supabase_data.py:46"}, "properties": {"repobilityId": "e058f0067f47c983", "scanner": "scanner-primary", "fingerprint": "a964ee9a96686669", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7045f65cb5b3a15b", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/ingest_full_us_cities.ts:120"}, "properties": {"repobilityId": "409f8138c64a53ed", "scanner": "scanner-primary", "fingerprint": "7045f65cb5b3a15b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f869d8149932aa8a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fetch_us_adaptive.ts:105"}, "properties": {"repobilityId": "06900308880e9f88", "scanner": "scanner-primary", "fingerprint": "f869d8149932aa8a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-56cf0f79d156e6f2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/add_security_image.js:10"}, "properties": {"repobilityId": "ca47b055463efaec", "scanner": "scanner-primary", "fingerprint": "56cf0f79d156e6f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b01b46bbeb43bbb", "level": "note", "message": {"text": "Legacy-named symbol `scraped_data_backup` in scripts/enrich_via_yell.py:14"}, "properties": {"repobilityId": "865ac8b387a727bc", "scanner": "scanner-primary", "fingerprint": "0b01b46bbeb43bbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-311c99e0f3e9ee9f", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/make_search_small.py:6"}, "properties": {"repobilityId": "74d5a31945ac802b", "scanner": "scanner-primary", "fingerprint": "311c99e0f3e9ee9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10802f22fe63b1c7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fix_mangled_amazon_buttons.js:24"}, "properties": {"repobilityId": "9d20c8db1d24b976", "scanner": "scanner-primary", "fingerprint": "10802f22fe63b1c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42db482187789c85", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/stt-backend/server.js:210"}, "properties": {"repobilityId": "530d21bb3236f270", "scanner": "scanner-primary", "fingerprint": "42db482187789c85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-911bcfa127617678", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 excluded_forbidden_scripts/fetch_dallas_comprehensive.ts:117"}, "properties": {"repobilityId": "0ad4f9d4918fde8d", "scanner": "scanner-primary", "fingerprint": "911bcfa127617678", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c1bdf7364275a075", "level": "none", "message": {"text": "Commented-code block (9 lines) in excluded_forbidden_scripts/fetch-google-places.ts:69"}, "properties": {"repobilityId": "c9a6f725b7c68323", "scanner": "scanner-primary", "fingerprint": "c1bdf7364275a075", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-368d2bdd8dfcea1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/ShareMenu.tsx:65"}, "properties": {"repobilityId": "ab922f78a37f3097", "scanner": "scanner-primary", "fingerprint": "368d2bdd8dfcea1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58556941a65be2ea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/LeafletMap.tsx:56"}, "properties": {"repobilityId": "fc633aef59c78e2f", "scanner": "scanner-primary", "fingerprint": "58556941a65be2ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-df2fe14559f772ea", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/components/GoldWave.tsx:28"}, "properties": {"repobilityId": "088c1df12da3ee7d", "scanner": "scanner-primary", "fingerprint": "df2fe14559f772ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f142ba989fbcf03", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/profile-editor/GalleryTab.tsx:37"}, "properties": {"repobilityId": "77cc2d6592162a14", "scanner": "scanner-primary", "fingerprint": "9f142ba989fbcf03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92d286b97d5e08b2", "level": "note", "message": {"text": "Legacy-named symbol `card__copy` in src/components/animations/TradesmenScroll.tsx:184"}, "properties": {"repobilityId": "77bca035a2265039", "scanner": "scanner-primary", "fingerprint": "92d286b97d5e08b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d841b8137f6d09d", "level": "note", "message": {"text": "Legacy-named symbol `card__copy` in src/components/animations/RoadsideScroll.tsx:102"}, "properties": {"repobilityId": "63d8ed0b9b1c2a0a", "scanner": "scanner-primary", "fingerprint": "3d841b8137f6d09d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-62441ff09bff7233", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/business/BusinessEnquiryForm.tsx:135"}, "properties": {"repobilityId": "5a032a421825aae3", "scanner": "scanner-primary", "fingerprint": "62441ff09bff7233", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9bc5656c5f15a917", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/unused/earth-hero/EarthHeroBackground.tsx:98"}, "properties": {"repobilityId": "515f8f6787cbaa17", "scanner": "scanner-primary", "fingerprint": "9bc5656c5f15a917", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8fa386af632725c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPage.tsx:85"}, "properties": {"repobilityId": "805e7991f14a8c1f", "scanner": "scanner-primary", "fingerprint": "8fa386af632725c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07382983b17192b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/pages/BlogPostPage.tsx:694"}, "properties": {"repobilityId": "e1dfa457d73ac756", "scanner": "scanner-primary", "fingerprint": "07382983b17192b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f6ea80caf6231be", "level": "note", "message": {"text": "Legacy-named symbol `create_initial_business_v2` in src/pages/NewProfileEditor.tsx:170"}, "properties": {"repobilityId": "802c6ebe6cb5f1c6", "scanner": "scanner-primary", "fingerprint": "7f6ea80caf6231be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc02fa893b47e057", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/location-utils.ts:159"}, "properties": {"repobilityId": "0e47b1970d34ec66", "scanner": "scanner-primary", "fingerprint": "bc02fa893b47e057", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc1bb1fda2eae4c2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/location-utils.ts:65"}, "properties": {"repobilityId": "73eee1e8368ecfbd", "scanner": "scanner-primary", "fingerprint": "fc1bb1fda2eae4c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-64d33a3da4879ba6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/businessService.ts:189"}, "properties": {"repobilityId": "9a7a4f281eabecfb", "scanner": "scanner-primary", "fingerprint": "64d33a3da4879ba6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f1c761c0b49d22fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/enrichment/checkWebsite.ts:64"}, "properties": {"repobilityId": "b28b54be59dafdc8", "scanner": "scanner-primary", "fingerprint": "f1c761c0b49d22fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ab7adbd7f0e09738", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:26"}, "properties": {"repobilityId": "eb9fe6d5050762af", "scanner": "scanner-primary", "fingerprint": "ab7adbd7f0e09738", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c36a455917d029ac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/process-voice/index.ts:65"}, "properties": {"repobilityId": "c65cf49acc24e3b0", "scanner": "scanner-primary", "fingerprint": "c36a455917d029ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47f835234380a40e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/notify-quote/index.ts:121"}, "properties": {"repobilityId": "fd7db27055906c2d", "scanner": "scanner-primary", "fingerprint": "47f835234380a40e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3d7fc7622411ef4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/mailmeteor-webhook/index.ts:86"}, "properties": {"repobilityId": "7f968430307a9bf6", "scanner": "scanner-primary", "fingerprint": "f3d7fc7622411ef4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fae2f325109d1d36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/companiesHouse.ts:71"}, "properties": {"repobilityId": "0e892949f7ea7563", "scanner": "scanner-primary", "fingerprint": "fae2f325109d1d36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dff7a847ab3366e5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/newsletter-subscribe/index.ts:34"}, "properties": {"repobilityId": "0468aae9e52cb026", "scanner": "scanner-primary", "fingerprint": "dff7a847ab3366e5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5038cf2a1d6b5e80", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/stripe-webhook/index.ts:142"}, "properties": {"repobilityId": "ebd5a7787f1ec33d", "scanner": "scanner-primary", "fingerprint": "5038cf2a1d6b5e80", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fa66fa5906ad4891", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-orchestrator/index.ts:108"}, "properties": {"repobilityId": "b7cdc9bdccc9e15c", "scanner": "scanner-primary", "fingerprint": "fa66fa5906ad4891", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1684f688e947794a", "level": "note", "message": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:8"}, "properties": {"repobilityId": "b00e4adc79f1a3c9", "scanner": "scanner-primary", "fingerprint": "1684f688e947794a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-72b0569b17f3bc1c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/plumber-uk/assets/standalone-8-f9OneD.js:1"}, "properties": {"repobilityId": "1a7d4834e5fd313f", "scanner": "scanner-primary", "fingerprint": "72b0569b17f3bc1c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42f347ca0bd88861", "level": "note", "message": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:8"}, "properties": {"repobilityId": "1e51baaaf573ed08", "scanner": "scanner-primary", "fingerprint": "42f347ca0bd88861", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5048781e7b923a2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/breakdown-recovery-uk/assets/standalone-68urF4kR.js:1"}, "properties": {"repobilityId": "9727d2fc2c46c7b1", "scanner": "scanner-primary", "fingerprint": "5048781e7b923a2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86a658279a9e4425", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/turbopack-0iupcgim2nidk.js:1"}, "properties": {"repobilityId": "c44253fb64f00154", "scanner": "scanner-primary", "fingerprint": "86a658279a9e4425", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6eee6dfe5b17017b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0_-5pest7te1o.js:1"}, "properties": {"repobilityId": "c644ad72782adf89", "scanner": "scanner-primary", "fingerprint": "6eee6dfe5b17017b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-99b34ecd98d36141", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/turbopack-0~3-9q6lxnn45.js:1"}, "properties": {"repobilityId": "345838850e37da1a", "scanner": "scanner-primary", "fingerprint": "99b34ecd98d36141", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-613973a2fa6acb5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0e6pt_tzi1-ck.js:4"}, "properties": {"repobilityId": "656aec7c91c8f047", "scanner": "scanner-primary", "fingerprint": "613973a2fa6acb5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8353e5e4d6b781fe", "level": "note", "message": {"text": "Legacy-named symbol `unstable_legacy` in public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0g24~7banqjbw.js:1"}, "properties": {"repobilityId": "aafb37a03c1ca590", "scanner": "scanner-primary", "fingerprint": "8353e5e4d6b781fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bb710082c8f2a3d3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public/showroom-templates/v0-compute-the-platform-to-build/_next/static/chunks/0ynu83ekjauap.js:1"}, "properties": {"repobilityId": "7d123c15d6392566", "scanner": "scanner-primary", "fingerprint": "bb710082c8f2a3d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-597231399356737a", "level": "note", "message": {"text": "43 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "99dff1e7af9292d7", "scanner": "scanner-primary", "fingerprint": "597231399356737a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "5be05f2ef5e59f69", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "0ec6c628d9b47cc9", "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": "669d734f1a247f28", "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": "17364e0fd1d0268c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "58abbcabc059e25d", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "33a6d04d25b0678f", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "4fe5f4e051648183", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "025bdc85252e5707", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "637a0bffe59e13bf", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "da48d44f58eaedff", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "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": "3cddd98b582df6d0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "ea1909bce0526f6d", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "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": "cca0f231abcdd4ac", "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": "7171afb4edbbe7b5", "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": "a2fe9d1ed87edacc", "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": "195b74a5e49aed25", "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": "c95f141602578c61", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ff6595e3da0f0fff", "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": "1ea829a96afe2514", "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": "fe71b498da2429e2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2b99153610bc695d", "level": "warning", "message": {"text": "Frontend route `/login` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "52e20181ba19cb6c", "scanner": "scanner-primary", "fingerprint": "2b99153610bc695d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-cb07a36b9b4572a8", "level": "warning", "message": {"text": "Frontend route `/auth/callback` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "89437733215e6393", "scanner": "scanner-primary", "fingerprint": "cb07a36b9b4572a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-a6c72ceb1d23a296", "level": "warning", "message": {"text": "Frontend route `/voice-report` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "1bdd9a732cc68cef", "scanner": "scanner-primary", "fingerprint": "a6c72ceb1d23a296", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-cb58051c77492a6e", "level": "warning", "message": {"text": "Frontend route `:city` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "5e9e0fbded4e12bb", "scanner": "scanner-primary", "fingerprint": "cb58051c77492a6e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3afccde482413734", "level": "warning", "message": {"text": "Frontend route `/home` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "54c8982ba38f32af", "scanner": "scanner-primary", "fingerprint": "3afccde482413734", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-d7225b54365f5208", "level": "warning", "message": {"text": "Frontend route `/us/home` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "38ff59ea31169e06", "scanner": "scanner-primary", "fingerprint": "d7225b54365f5208", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-7b6e2f6a9ae4e96e", "level": "warning", "message": {"text": "Frontend route `/landing-3` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "d6dba0a2207db125", "scanner": "scanner-primary", "fingerprint": "7b6e2f6a9ae4e96e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-df80043a68af5f99", "level": "warning", "message": {"text": "Frontend route `/landing-page-3` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "1041ed2c474043f6", "scanner": "scanner-primary", "fingerprint": "df80043a68af5f99", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-205921d930874b8b", "level": "warning", "message": {"text": "Frontend route `/about` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "4d6dc8c0f30d5cc5", "scanner": "scanner-primary", "fingerprint": "205921d930874b8b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-557899e56e08dfd5", "level": "warning", "message": {"text": "Frontend route `/tradesmen` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "dbd4ea7123326ebb", "scanner": "scanner-primary", "fingerprint": "557899e56e08dfd5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-c2d0d2ee8bb85214", "level": "warning", "message": {"text": "Frontend route `/for-tradesmen` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "de68a91a73a49c2f", "scanner": "scanner-primary", "fingerprint": "c2d0d2ee8bb85214", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-0df612c2392446fb", "level": "warning", "message": {"text": "Frontend route `/for-contractors` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "29c5596408f6119f", "scanner": "scanner-primary", "fingerprint": "0df612c2392446fb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e346289ea7a0e440", "level": "warning", "message": {"text": "Frontend route `/for-tradesmen/website-showroom` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "81c7b296cf1e77a1", "scanner": "scanner-primary", "fingerprint": "e346289ea7a0e440", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-34d1f48650909f09", "level": "warning", "message": {"text": "Frontend route `/for-contractors/website-showroom` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "7ea4a57b81155d99", "scanner": "scanner-primary", "fingerprint": "34d1f48650909f09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-42b352ad2d83287f", "level": "warning", "message": {"text": "Frontend route `/blog/:slug` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "72216d0671efb39d", "scanner": "scanner-primary", "fingerprint": "42b352ad2d83287f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-406143d8507bf4c6", "level": "warning", "message": {"text": "Frontend route `/faq` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "f2042d8cc30de5bc", "scanner": "scanner-primary", "fingerprint": "406143d8507bf4c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ed6959dea23ede6c", "level": "warning", "message": {"text": "Frontend route `/terms` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "d029929d0b7cb490", "scanner": "scanner-primary", "fingerprint": "ed6959dea23ede6c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-82933cb01873ec19", "level": "warning", "message": {"text": "Frontend route `/verify-documents` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "98b76c9c039725a6", "scanner": "scanner-primary", "fingerprint": "82933cb01873ec19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f991b5b8a917f3e1", "level": "warning", "message": {"text": "Frontend route `/business/:businessId` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "b2f6dd48ef6c7f8e", "scanner": "scanner-primary", "fingerprint": "f991b5b8a917f3e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-f4e2b8bc3de17fbd", "level": "warning", "message": {"text": "Frontend route `/business/claim/:businessId` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "3d6e2291b7434e24", "scanner": "scanner-primary", "fingerprint": "f4e2b8bc3de17fbd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-8d110c8f779c521c", "level": "warning", "message": {"text": "Frontend route `/payment/success` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "177951fdc5b83c3c", "scanner": "scanner-primary", "fingerprint": "8d110c8f779c521c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-961fddad59dd48bb", "level": "warning", "message": {"text": "Frontend route `/payment/cancel` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "f25227fd6e13b513", "scanner": "scanner-primary", "fingerprint": "961fddad59dd48bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-deb1d1fe6f378b5c", "level": "warning", "message": {"text": "Frontend route `businesses` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "51bcc981c0254ae0", "scanner": "scanner-primary", "fingerprint": "deb1d1fe6f378b5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-43f37de13530692d", "level": "warning", "message": {"text": "Frontend route `profile-editor` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "04bb40e8a8158cc6", "scanner": "scanner-primary", "fingerprint": "43f37de13530692d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-4d1c36d99c104c9b", "level": "warning", "message": {"text": "Frontend route `availability` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "106dbb64bcf298b7", "scanner": "scanner-primary", "fingerprint": "4d1c36d99c104c9b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-53573e65be379329", "level": "warning", "message": {"text": "Frontend route `photos` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "b377dbd0cd30070f", "scanner": "scanner-primary", "fingerprint": "53573e65be379329", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3532a3f699b08624", "level": "warning", "message": {"text": "Frontend route `reviews` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "4fe59fd1249d427c", "scanner": "scanner-primary", "fingerprint": "3532a3f699b08624", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e6e7889f0ade2a1a", "level": "warning", "message": {"text": "Frontend route `subscriptions` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "f36ef1e70baa4bde", "scanner": "scanner-primary", "fingerprint": "e6e7889f0ade2a1a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-95db69fade06a239", "level": "warning", "message": {"text": "Frontend route `export` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "3f8caab6d083939d", "scanner": "scanner-primary", "fingerprint": "95db69fade06a239", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-ddc1f0e866f6323f", "level": "warning", "message": {"text": "Frontend route `analytics` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "5dd95ee593452334", "scanner": "scanner-primary", "fingerprint": "ddc1f0e866f6323f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-99f2d4bbb3f5688d", "level": "warning", "message": {"text": "Frontend route `email-outreach` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "217cce10cdba8218", "scanner": "scanner-primary", "fingerprint": "99f2d4bbb3f5688d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-a49eacb9496edbe5", "level": "warning", "message": {"text": "Frontend route `evidence` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "7ba87850eb03b90d", "scanner": "scanner-primary", "fingerprint": "a49eacb9496edbe5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-33b9eea93af311df", "level": "warning", "message": {"text": "Frontend route `/:state/:city` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "3304138241ca227f", "scanner": "scanner-primary", "fingerprint": "33b9eea93af311df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-fa69eaeda7ac67b3", "level": "warning", "message": {"text": "Frontend route `/:state/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "27cdbfbcd473b5df", "scanner": "scanner-primary", "fingerprint": "fa69eaeda7ac67b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-00ad096305e8d26e", "level": "warning", "message": {"text": "Frontend route `/:state/:metro/:city/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "50c72d340dd24f8a", "scanner": "scanner-primary", "fingerprint": "00ad096305e8d26e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-bf178ff0d007b5e8", "level": "warning", "message": {"text": "Frontend route `/:state/:metro/:city/:suburb/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "d8a1636c39f56e28", "scanner": "scanner-primary", "fingerprint": "bf178ff0d007b5e8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-42608229d2b70cf1", "level": "warning", "message": {"text": "Frontend route `/:tradePath` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "49ac5f1087a43bb3", "scanner": "scanner-primary", "fingerprint": "42608229d2b70cf1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-3ddbd9cd363417c1", "level": "warning", "message": {"text": "Frontend route `/:tradePath/:city` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "6b829a8f1a60431c", "scanner": "scanner-primary", "fingerprint": "3ddbd9cd363417c1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-e5f13c9c46f4c343", "level": "warning", "message": {"text": "Frontend route `/us/*` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "af3828e2be45ff76", "scanner": "scanner-primary", "fingerprint": "e5f13c9c46f4c343", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-2446ca689f599047", "level": "warning", "message": {"text": "Frontend route `/usa/*` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "dc0dbeb4d648cf46", "scanner": "scanner-primary", "fingerprint": "2446ca689f599047", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-26109f24ca52c7d6", "level": "warning", "message": {"text": "Frontend route `/gb/*` has no Link/navigate to it \u2014 src/App.tsx"}, "properties": {"repobilityId": "8387fe313a402c7d", "scanner": "scanner-primary", "fingerprint": "26109f24ca52c7d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-7203ab5a56b5b5e1", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (emergency-brain.js:623)"}, "properties": {"repobilityId": "25894fbd966648f3", "scanner": "scanner-primary", "fingerprint": "7203ab5a56b5b5e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a9eb42d3f25ccd0d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs_alt.js:19)"}, "properties": {"repobilityId": "dfaec7d52b8be7dc", "scanner": "scanner-primary", "fingerprint": "a9eb42d3f25ccd0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3ad873ed19998f38", "level": "error", "message": {"text": "Dangling fetch: POST https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream (scripts/verify_elevenlabs.js:23)"}, "properties": {"repobilityId": "5cec34a91fe86a09", "scanner": "scanner-primary", "fingerprint": "3ad873ed19998f38", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-659b11e30374b6b0", "level": "error", "message": {"text": "Dangling fetch: GET https://api.elevenlabs.io/v1/voices (scripts/verify_elevenlabs_simple.js:16)"}, "properties": {"repobilityId": "28a398677e83c1c4", "scanner": "scanner-primary", "fingerprint": "659b11e30374b6b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a1df9fcf2077e63c", "level": "error", "message": {"text": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/components/BusinessContactForm.tsx:98)"}, "properties": {"repobilityId": "bc31e01fbfb59f4d", "scanner": "scanner-primary", "fingerprint": "a1df9fcf2077e63c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c80206e32bae3e7", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json (src/components/SoloTradeSelector.tsx:155)"}, "properties": {"repobilityId": "e77b98904205706a", "scanner": "scanner-primary", "fingerprint": "8c80206e32bae3e7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f951c7cb787ec062", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/components/LeafletMap.tsx:56)"}, "properties": {"repobilityId": "405de0a60e32f7c1", "scanner": "scanner-primary", "fingerprint": "f951c7cb787ec062", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ded01eec6205553f", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=1 (src/components/InteractiveMap.tsx:78)"}, "properties": {"repobilityId": "012ccfff475f80f9", "scanner": "scanner-primary", "fingerprint": "ded01eec6205553f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-86f4d625a5c239c4", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/earth/LocalAreaBackdrop.tsx:109)"}, "properties": {"repobilityId": "2f8d19497785f34e", "scanner": "scanner-primary", "fingerprint": "86f4d625a5c239c4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d35e02119fe28161", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json (src/components/animations/RoadsideScroll.tsx:34)"}, "properties": {"repobilityId": "a6abda14dac49045", "scanner": "scanner-primary", "fingerprint": "d35e02119fe28161", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d1426e6970b9479e", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?${params.toString()} (src/components/unused/earth-hero/EarthHeroBackground.tsx:98)"}, "properties": {"repobilityId": "98fc95356e50af95", "scanner": "scanner-primary", "fingerprint": "d1426e6970b9479e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b0dc83095b1b3275", "level": "error", "message": {"text": "Dangling fetch: POST https://formspree.io/f/movgrbrz (src/pages/ContactPage.tsx:159)"}, "properties": {"repobilityId": "854e0bd721c5b54a", "scanner": "scanner-primary", "fingerprint": "b0dc83095b1b3275", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6923b17cacd2e374", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query + countrySuffix)}&limit=1 (src/lib/location-utils.ts:65)"}, "properties": {"repobilityId": "b92857c2a319ee65", "scanner": "scanner-primary", "fingerprint": "6923b17cacd2e374", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d3d41e45437a19b5", "level": "error", "message": {"text": "Dangling fetch: GET /data/fallback-enrichment.json (src/lib/businessService.ts:46)"}, "properties": {"repobilityId": "582293dd08b47a01", "scanner": "scanner-primary", "fingerprint": "d3d41e45437a19b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a989beaeb865881b", "level": "error", "message": {"text": "Dangling fetch: GET /sounds/click.ogg (src/lib/audioService.ts:40)"}, "properties": {"repobilityId": "596de3b0ac228484", "scanner": "scanner-primary", "fingerprint": "a989beaeb865881b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-deaaa75d60d77c2d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.sendgrid.com/v3/mail/send (supabase/functions/send-email/index.ts:26)"}, "properties": {"repobilityId": "b2e428cd22ee0a5a", "scanner": "scanner-primary", "fingerprint": "deaaa75d60d77c2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-00238c0523152a1d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/audio/transcriptions (supabase/functions/process-voice/index.ts:65)"}, "properties": {"repobilityId": "c1a5eacd62e13d91", "scanner": "scanner-primary", "fingerprint": "00238c0523152a1d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09aa950fc3edd93f", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/chat/completions (supabase/functions/process-voice/index.ts:104)"}, "properties": {"repobilityId": "288500a1a8d1fca4", "scanner": "scanner-primary", "fingerprint": "09aa950fc3edd93f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-24c9d03811f09a4b", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:121)"}, "properties": {"repobilityId": "a038390947ba9c83", "scanner": "scanner-primary", "fingerprint": "24c9d03811f09a4b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-261d4445054d879c", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/notify-quote/index.ts:182)"}, "properties": {"repobilityId": "1aff93fc30519f68", "scanner": "scanner-primary", "fingerprint": "261d4445054d879c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c3348b95ce97896b", "level": "error", "message": {"text": "Dangling fetch: POST https://emailoctopus.com/api/1.6/lists/${EMAIL_OCTOPUS_LIST_ID}/contacts (supabase/functions/newsletter-subscribe/index.ts:34)"}, "properties": {"repobilityId": "93ed50f3034e6c8b", "scanner": "scanner-primary", "fingerprint": "c3348b95ce97896b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-72039dcd881f55f2", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (supabase/functions/email-orchestrator/index.ts:108)"}, "properties": {"repobilityId": "13b9f93cc6f83f6e", "scanner": "scanner-primary", "fingerprint": "72039dcd881f55f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d16b1bb2723f51e", "level": "note", "message": {"text": "Unused endpoint: POST /signup"}, "properties": {"repobilityId": "844ca761bdf940e6", "scanner": "scanner-primary", "fingerprint": "8d16b1bb2723f51e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4fe9bb486644f008", "level": "note", "message": {"text": "Unused endpoint: POST /change-password"}, "properties": {"repobilityId": "22ed2f0b0678c617", "scanner": "scanner-primary", "fingerprint": "4fe9bb486644f008", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "2968062f8314f2d2", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-906049c6961f019e", "level": "note", "message": {"text": "Unused endpoint: POST /api/upload-audio"}, "properties": {"repobilityId": "797164249ce9d74b", "scanner": "scanner-primary", "fingerprint": "906049c6961f019e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-df1312c4abc441d4", "level": "note", "message": {"text": "Unused endpoint: USE /api/live-alerts"}, "properties": {"repobilityId": "50cfd6f5027678f4", "scanner": "scanner-primary", "fingerprint": "df1312c4abc441d4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}